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

How to configure log retention policy on Laravel 5?

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

我在哪里设置/配置擦除前保留多少天?

谢谢

我做了一些自定义日志记录,并在 AppService Provider 中使用以下内容来做其他事情:

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

从这里看来,您应该添加一个新的 RotatingFileHandler(来自 Monolog 包)而不是像我一样使用 pushProcessor():

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

在这里您需要对日志做一些其他事情 path/name,但神奇的 2 是保留天数。

所以这可能是正确的方向,但你将不得不 fiddle 稍微用这个来获得你想要的东西:

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 即可。哪个更容易:)