《Laravel – 如何按照日期分割Laravel.log – 學習筆記》工具分享

Telegram share !

承上篇如何清除LARAVEL.LOG的分享,相信很多人會問,如果我只想找某一天的log紀錄,他沒辦法像是nginx or apache上的access log按照日期分割不同的檔案嗎? 其實是可以的,可以透過.env檔案做設定,這次我們會做兩件事

1.將log檔案設定以天(daily)為單位

2.APP_LOG_MAX_FILES保留日誌天數,本範例設定為28天(四週)

所以我在此紀錄一下如何按照日期分割Laravel.log的相關設定,當作備忘錄,也希望藉由此次分享讓初學者能更快掌握相關語法。

情境

當網站跑一段時間後,單一檔案越來越大,造成排錯不易,那我們可以按照日期分割,這樣找起問題就會比較有效率。

laravel.log檔案路徑位於<your project directory>/storage/logs/

.env設定檔案:

APP_LOG_LEVEL=debug
APP_LOG=daily
APP_LOG_MAX_FILES=28

設定說明

APP_LOG_LEVEL

紀錄LOG嚴重程度,從最低到最嚴重: debug, info, notice, warning, error, critical, alert, emergency.

APP_LOG

如果你希望使用 daily (每天為單位)記錄檔而不是單個檔案,你應該將 app 設定檔的 log 值設定為 daily

APP_LOG_MAX_FILES

使用 daily 日誌模式,Laravel 預設只會保留五天的日誌檔案。如果你想要調整保留檔案的天數可以在此定義天數

驗證設定後結果:

root@ip-192-168-1-173:/var/www/demo/storage/logs# ll
total 1396
drwxrwxr-x 2 www-data www-data    4096 Oct  5 17:55 ./
drwxrwxr-x 6 www-data www-data    4096 Dec 25  2019 ../
-rwxrwxr-x 1 www-data www-data   42693 Oct  1 18:19 laravel-2022-10-02.log*
-rwxrwxr-x 1 www-data www-data   32433 Oct  3 07:45 laravel-2022-10-03.log*
-rwxrwxr-x 1 www-data www-data  124870 Oct  4 10:44 laravel-2022-10-04.log*
-rwxrwxr-x 1 www-data www-data   21394 Oct  5 13:37 laravel-2022-10-05.log*
-rwxrwxr-x 1 www-data www-data   10501 Oct  5 17:55 laravel-2022-10-06.log*
-rwxrwxr-x 1 www-data www-data 1163464 Sep 30 01:25 laravel.log*

Reference