🦔

ログが laravel.logに溜まりすぎて見づらい人へ

2021/11/24に公開

Laravelの初期設定ではログが storage/logs/laravel.log に出力されることになっています。

これは初期設定のチャネルが stack になっているからです。

ログのチャネル

ログのチャネルには4種類あります。

  • stack(初期値)
  • single
  • daily
  • slack

stackはマルチチャネルを行う際に指定するもので、stackで初期指定されているのがsingleです。

singleは、一つのログファイルにずっと溜めておくという設定です。

dailyは、日ごとにログファイルを分けるという設定です。

slackは、コミュニケーションツールの「slack」にログを残すという設定です。

初期設定ではstackのsingleチャネルに設定されているので、一つのファイルに蓄積されてみづらいな〜〜って言う人は、 daily に変えてあげましょう。

dailyにしておくと、〇〇年〇月〇日以前の古いログは削除すると言うような対応もとれますよね。

これはenvファイルで変更できます。

# LOG_CHANNEL=stack
LOG_CHANNEL=daily

ログのレベル

ログには emergency から debug まで8種類あります。
エラー発生時にログが自動で出力されることもありますが、 自分でLogファサードを用いてログを出力することもできます。

ログのレベルに応じて使い分けてください。

Log::emergency($message);
Log::alert($message);
Log::critical($message);
Log::error($message);
Log::warning($message);
Log::notice($message);
Log::info($message);
Log::debug($message);

と言うわけで、今回はログの出力方法とレベルについてでした。
ずーっとログを1つのファイルに出力し続けていたので、これからはdailyで出力していこうかなと思います。
ログレベルも適切に出力しましょう。

Discussion