Laravel 中自定义日志目录
原文连接: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();
例如:
这样,该类中的日志就是只记录在你指定的文件中。
如果有大神理解更透彻的,希望能把更详细的发布上出来。嘿嘿。。。