Laravel は非常に人気のある PHP 開発フレームワークであり、その柔軟性と強力な機能が大多数の開発者に好まれています。アプリケーション開発プロセスにおいて、ログは非常に重要なタスクであり、開発者が問題を迅速に特定して解決するのに役立ちます。この記事ではLaravelでのログの書き方を紹介します。
Laravel のログ構成情報は、config ディレクトリのlogging.php ファイルに保存されます。デフォルトのログ ドライバーとログ チャネルはこのファイルで定義されます。
必要に応じて、ログ ドライバーとログ チャネルをカスタマイズできます。最も一般的なログ ドライバーの種類には、単一ファイルと日次ログ ファイルが含まれます。このうち、シングルファイルモードはすべてのログを 1 つのファイルに記録しますが、日次ログファイルモードは毎日の日付に基づいて新しいログファイルを作成します。
構成ファイルでログ ドライバーの種類を選択した後、アプリケーションでログを記録するときに使用するログ チャネルを構成する必要もあります。
Laravel は、ログを記録する方法を提供する Log Facade を提供し、ログ情報をログ ファイルに簡単に記録できるようにします。 。 Log::
を直接使用して Log Facade を呼び出し、info()
または debug()
を使用してログ情報を記録します。以下に示すように:
use IlluminateSupportFacadesLog; // 记录 Info 级别的日志信息 Log::info('This is an info level message.'); // 记录 Debug 级别的日志信息 Log::debug('This is a debug level message.');
ログ構成ファイルでさまざまなログ チャネルを定義し、さまざまなハンドラー (ハンドラー) を設定して、ログ情報をさまざまな場所に保存できます。
以下に示すように:
use IlluminateSupportFacadesLog; // 使用 MyLog 通道记录 Info 级别的日志信息 Log::channel('MyLog')->info('This is an info level message.'); // 使用 MyLog 通道记录 Debug 级别的日志信息 Log::channel('MyLog')->debug('This is a debug level message.');
Monolog は PHP の強力なログ ツールであり、Laravel はログ コンポーネントとして Monolog を使用します。 。 Monolog はさまざまなプロセッサとフォーマッタを提供しており、ログをより詳細に設定できます。
Laravel では、Monolog を使用してログ情報を処理および記録できます。 Laravel は、コンテナー バインディングを通じて Monolog カプセル化を実装します。コンテナー バインディングを通じて Monolog インスタンスをカスタマイズし、アプリケーション内で参照できるように各インスタンスに名前を付けることができます。
以下に示すように、AppServiceProvider
で新しい Monolog インスタンスをバインドできます:
use MonologLogger; use MonologHandlerStreamHandler; public function register() { $this->app->bind('myLogger', function () { $log = new Logger('myLog'); $log->pushHandler(new StreamHandler(storage_path('logs/myLog.log')), Logger::INFO); return $log; }); }
次に、このインスタンスを使用してアプリケーションにログ情報を記録します。以下に示すように:
use IlluminateSupportFacadesLog; Log::channel('myLogger')->info('This is an info level message.');
デフォルトのログ構成ファイルの使用に加えて、カスタム ログ構成ファイルを使用して Monolog を構成することもできます。以下に示すように、カスタム ログ設定ファイルで Monolog の addRecord()
メソッドを使用してログ情報を追加します。
use MonologLogger; return [ 'myLog' => [ 'driver' => 'monolog', 'level' => 'debug', 'handler_with' => [ [ 'handler' => StreamHandler::class, 'options' => [ 'level' => Logger::INFO, 'stream' => storage_path('logs/mylog.log'), 'bubble' => true ] ] ], 'tap' => [MyLogChannel::class] ] ];
ここでの tap
設定は次のとおりであることに注意してください。自動 ログ チャネル インスタンスを定義します。ロギング情報の記録に使用できるように、インスタンスをアプリケーションに登録する必要があります。
Laravel では、ログ記録はアプリケーション開発に必要なタスクです。ログ設定ファイルを設定し、Log Facade と Monolog を使用することで、簡単にログ情報を記録し、処理することができます。
もちろん、ここでは Laravel でログを書き込む最も基本的な方法のみを紹介しますので、より深く理解したい場合は、Laravel の公式ドキュメントを確認するか、関連情報を検索してください。
以上がlaravelのログ書き込み方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。