ホームページ >バックエンド開発 >PHPチュートリアル >CodeIgniter ミドルウェア: パフォーマンス ログとエラー ログをアプリケーションに追加します。

CodeIgniter ミドルウェア: パフォーマンス ログとエラー ログをアプリケーションに追加します。

PHPz
PHPzオリジナル
2023-07-31 12:03:321614ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。