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();

这样,该类中的日志就是只记录在你指定的文件中。

posted @ 2017-12-11 17:01  JohnsonChung  阅读(4784)  评论(0编辑  收藏  举报