原文連接:https://laravel-china.org/articles/7125/custom-log-directory-in-laravel
新人報單!!!
這是我工作用遇到的一個問題,如何把日志寫入到指定目錄文件。
希望對各位小伙伴有幫助哈!
那么問題來了,比如我在寫job的時候,使用 Log::info() 會讓日志全部記錄在 storage/logs/laravel.log 文件里,查找起來比較麻煩。那么我可不可以單獨記錄在一個日志文件里呢?
laravel文檔里沒有寫,於是我去翻Laravel的源碼,結果還真給我找到了。只需在你的代碼中加入
Log::useDailyFiles(storagepath('logs/job/error.log'));
這樣日志就會單獨記錄在 logs/job/error.log 中,如:
這是按每日記錄的,想要單文件記錄日志可以使用
Log::useFiles(storage_path('logs/job/error.log')); 。
到這里,日志會記錄兩份,
1.是自帶的日志文件內容,
2.是自己指定的日志文件內容。
那么,只想在指定的文件里記錄要腫么辦呢?
只需在 Log::useDailyFiles(storage_path('logs/job/error.log')) 之前加上,
$monolog = Log::getMonolog();
$monolog->popHandler();
例如:
這樣,該類中的日志就是只記錄在你指定的文件中。
如果有大神理解更透徹的,希望能把更詳細的發布上出來。嘿嘿。。。