相信每個小伙伴在使用laravel的時候都會記錄日誌、查看日誌。那麼問題來了,比如我在對接zabbix介面的時候,使用 Log::info() 會讓日誌全部記錄在 storage/logs/laravel.log 文件里,查找起來比較麻煩。那麼我可不可以單獨記錄在一個日誌文件里呢? laravel文 ...
相信每個小伙伴在使用laravel的時候都會記錄日誌、查看日誌。那麼問題來了,比如我在對接zabbix介面的時候,使用 Log::info() 會讓日誌全部記錄在 storage/logs/laravel.log 文件里,查找起來比較麻煩。那麼我可不可以單獨記錄在一個日誌文件里呢?
laravel文檔里沒有寫,於是我去翻Laravel的源碼,結果還真給我找到了。只需在你的代碼中加入
Log::useDailyFiles(storage_path('logs/zabbix/error.log'));
這樣日誌就會單獨記錄在 logs/zabbix/error.log 中,如:
這是按每日記錄的,想要單文件記錄日誌可以使用 Log::useFiles(storage_path('logs/zabbix/error.log')); 。
到這裡,日誌會記錄兩份,就是你指定的文件和原來laravel記日誌的文件。
那麼,只想在指定的文件里記錄要腫麽辦呢?其實也簡單。只需在 Log::useDailyFiles(storage_path('logs/zabbix/error.log')) 之前加上,
$monolog = Log::getMonolog();
$monolog->popHandler();
這樣,該類中的日誌就是只記錄在你指定的文件中。