Laravel カスタムログの設定

操作ログや決済ログ、デバック用のログなど、Laravelでログを取る場合の設定です。
Laravelでは、PHPライブラリのmonologでログを取得しています。

ログの初期設定

/config/logging.php に加筆・変更します。

  1. チャンネル(channels)に、hogelogを追加
  2. ドライバー(ルールみたいなもの)を設定、今回はdaily(日ごとにログファイルを生成)にします。
  3. ログファイルのパスは、storegeの下logを指定(さらに階層を設けることも可能)、ファイル名も指定します。
  4. ログレベルを設定、今回はinfoにします。
  5. dailyなので保存日数も指定します。

dailyは、monologのデフォルトで用意されているhandlerです。
毎日ファイルを作成して、日ごとにログを出力します。

設定サンプル

ログの書き込み

Logファサードを使って書き込みます。

チャンネル名を指定します。
Log::channel('hogelog’)

ログレベル(info)に、メッセージ・情報(配列)を渡します。
->info('LOGIN USER’, ['id’ => '012345’]);

作成されるファイルは以下のようになります。

書き込みされるログは以下のようになります。

production.INFO の「production」は、monologでのデフォルト「チャンネル名称」です。
チャンネル名称を変更できるらしいのですが、まだ実際には試してないので、次の機会に確認します。

あまり理解できていない状況なので、とりあえずログが取得できるレベルの使い方です。