CodeIgniter ミドルウェア: パフォーマンス ログとエラー レコードをアプリケーションに追加する
はじめに:
Web アプリケーションを開発する場合、パフォーマンス ログとエラー レコードは非常に重要です。アプリケーションのパフォーマンスを効果的に監視して最適化するには、アプリケーションの実行時間を取得し、アプリケーションで生成されたエラー情報を記録できる必要があります。 CodeIgniterは、アプリケーションにパフォーマンスログやエラー記録機能を簡単に追加できるミドルウェア機能を提供します。この記事では、CodeIgniter のミドルウェアを使用してパフォーマンス ログとエラー記録機能を実装する方法を紹介します。
1. ミドルウェアの作成
まず、ミドルウェア クラスを作成する必要があります。 CodeIgniter におけるミドルウェア クラスは、CI_Middleware クラスを継承したクラスです。ミドルウェア クラスを application/middleware ディレクトリに配置できます (ディレクトリが存在しない場合は、手動で作成する必要があります)。以下はミドルウェア クラスの例のコードです:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class PerformanceLoggerMiddleware extends CI_Middleware { public function handle(RequestInterface $request, Closure $next) { // 记录请求开始时间 $startTime = microtime(true); // 执行下一个中间件或路由处理器 $response = $next($request); // 计算请求执行时间 $endTime = microtime(true); $executionTime = $endTime - $startTime; // 将执行时间记录到日志中 log_message('info', 'Request execution time: ' . $executionTime); return $response; } }
上記のコードでは、PerformanceLoggerMiddleware という名前のミドルウェア クラスを作成しました。このミドルウェア クラスは、CI_Middleware クラスを継承し、handle メソッドを実装します。 handle メソッドは、RequestInterface オブジェクトと Closure オブジェクトをパラメータとして受け取ります。 handle メソッドでは、まずリクエストの開始時刻を記録し、次に次のミドルウェアまたはルート プロセッサを実行して、リクエストが実行された時刻を計算してアプリケーションのログに記録します。
2. ミドルウェアの登録
次に、ミドルウェアを CodeIgniter に登録する必要があります。これを実現するには、いくつかの構成を行う必要があります。まず、application/config/config.php ファイルを開き、次の構成項目を見つけて true に設定します:
$config['enable_hooks'] = true;
次に、application/config/hooks.php ファイルを開き、コードに次の行を追加します。以下のスニペット コード:
$hook['pre_system'][] = [ 'class' => 'PerformanceLoggerMiddleware', 'function' => 'handle', 'filename' => 'PerformanceLoggerMiddleware.php', 'filepath' => 'middleware', ];
上記のコードでは、pre_system フックの処理関数として PerformanceLoggerMiddleware クラスを登録します。これは、各リクエストが処理される前に、PerformanceLoggerMiddleware のハンドル メソッドが実行されることを意味します。
3. ミドルウェアをテストする
ミドルウェアの作成と登録が完了したので、テストしてみます。アプリケーションのメイン コントローラーを変更することでこれをテストできます。以下はコントローラー コードの例です。
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { sleep(1); // 模拟一个耗时操作 $this->load->view('welcome_message'); } }
上記のコードでは、時間のかかる操作 (スリープ関数を使用) をシミュレートしてから、ビュー ファイルをロードします。コントローラーにアクセスすると、ミドルウェアはリクエストの実行時間を記録し、アプリケーションのログ ファイルに記録します。
4. ログの表示
最後に、アプリケーションのログ ファイルを開いて、ミドルウェアによって記録されたパフォーマンス ログを表示できます。 CodeIgniter では、デフォルトのログ ファイルは application/logs ディレクトリに保存されます。ログ ファイルの例の内容は次のとおりです。
INFO - 2019-01-01 10:00:00 --> Request execution time: 1.02345204353
上記の例では、リクエストの実行時間が記録されていることがわかります。
概要:
CodeIgniter でミドルウェアを使用すると、アプリケーションにパフォーマンス ログ機能とエラー ログ機能を簡単に追加できます。この記事では、ミドルウェアクラスを作成してCodeIgniterに登録する方法を紹介しました。簡単な例を使用して、ミドルウェアを使用してリクエストの実行時間を記録し、アプリケーションのログ ファイルに記録する方法を示します。このアプローチは、Web アプリケーションの監視と最適化を強化し、より良いユーザー エクスペリエンスを提供するのに役立ちます。
以上がCodeIgniter ミドルウェア: パフォーマンス ログとエラー ログをアプリケーションに追加します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。