如何在Laravel 5上配置日志保留策略?

时间:2015-09-15 16:07:01

标签: php logging laravel-5 monolog

我注意到在干净的L5设置上,日志文件每天分组并保持到4天前(共5个文件),然后删除最旧的文件并创建今天的文件。

我在哪里设置/配置擦除前要保留的天数?

由于

1 个答案:

答案 0 :(得分:4)

我做一些自定义日志记录,并在AppService Provider中执行以下操作:

$monolog = Log::getMonolog();                                                             
$monolog->pushProcessor(new IntrospectionProcessor());  

从这里开始,看起来你会添加一个新的RotatingFileHandler(来自Monolog包),而不是像我一样使用pushProcessor():

How to create rotating log file with Laravel and Monlog

$monolog->pushHandler(new RotatingFileHandler(storage_path().'/logs/mycustomlog.log'), 2);

在这里,您需要使用日志路径/名称执行其他操作,但魔法2是保留天数。

所以这是一个可能是正确方向的刺激,但是你必须用这个来摆弄它才能得到你想要的东西:

https://github.com/Seldaek/monolog/blob/master/src/Monolog/Handler/RotatingFileHandler.php

稍后编辑:

只需浏览Illuminate / Foundation / Bootstrap / ConfigureLogging,找到以下设置:

$app->make('config')->get('app.log_max_files', 5). 

所以只需在config / app.php中设置log_max_files即可。这有点容易:)