相信每个小伙伴在使用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();
这样,该类中的日志就是只记录在你指定的文件中。