【问题标题】:How to configure log retention policy on Laravel 5?如何在 Laravel 5 上配置日志保留策略?
【发布时间】:2015-09-15 16:07:01
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: php logging laravel-5 monolog


    【解决方案1】:

    我做了一些自定义日志记录,并在 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 就可以了。这更容易:)

    【讨论】:

    • 与 Laravel 通常(也很容易)提供的解决方案相比,这有点棘手。我试试看
    • @koalaok - 确实如此!刚刚查看了 Illuminate/Foundation/Bootstrap/ConfigureLogging 并找到了 $app->make('config')->get('app.log_max_files', 5) 的设置。所以只需在 config/app.php 中设置 log_max_files 就可以了。这更容易:)
    • 明白了!你应该把它作为答案。为了让我接受。或者整合你之前的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 2011-09-08
    • 1970-01-01
    相关资源
    最近更新 更多