【问题标题】:Log rotating with Monolog in Symfony2在 Symfony2 中使用 Monolog 进行日志旋转
【发布时间】:2013-12-06 06:01:51
【问题描述】:

我想知道是否有可能在 Symfony2 中配置 Monolog 以每天创建一个新的日志文件,例如:2013-11-21-prod.log。

【问题讨论】:

    标签: php symfony monolog


    【解决方案1】:

    有一个叫rotating_file的记录器。
    这是一个示例配置:

    monolog:
        handlers:
            main:
                type:  rotating_file
                path:  %kernel.logs_dir%/%kernel.environment%.log
                level: debug
    

    【讨论】:

    • @Seldaek 也许您可以发布一个答案来说明它?作为 Monolog 的创建者,您比我更了解如何实现这一目标! ;-)
    • 作为 Monolog 的创建者,我知道我不想重写一个一直存在并且运行良好的工具,但我不是 logrotate pro :) 无论如何@loicfavory 发布了一个示例 logrotate 配置在下面,所以我会留在那里。我只是想指出,并非所有任务都最好用 php 完成。
    • 这正是我想要的。非常感谢。
    • 如果它也有压缩旧日志的选项会更好。 :)
    【解决方案2】:

    在linux上,可以使用logrotate(不知道windows或者macos上是否存在其他解决方案)

    在 /etc/logrotate.d/ 中创建一个文件(例如 sf2_myapp)并添加此内容:

    /path/to/your/symfony_app/app/logs/prod.log {
            daily
            missingok
            rotate 14
            compress
    }
    

    您应该在 Google 上查找 logrotate 以了解更多信息

    【讨论】:

    • 如果您只是旋转一个文件并且没有使用任何脚本(如 postrotate),则不需要共享脚本。
    • 如果您想在制作此配置文件后手动强制旋转,请运行logrotate --force /etc/logrotate.d/sf2_myapp
    猜你喜欢
    • 2014-07-03
    • 2014-07-03
    • 2017-03-01
    • 2015-06-09
    • 2012-04-17
    • 1970-01-01
    • 2023-03-11
    • 2015-05-06
    • 2015-07-19
    相关资源
    最近更新 更多