Php 在Symfony2中使用单声道旋转日志

Php 在Symfony2中使用单声道旋转日志,php,symfony,monolog,Php,Symfony,Monolog,我想知道是否有可能在Symfony2中配置Monolog以每天创建一个新的日志文件,例如:2013-11-21-prod.log。有一个名为rotating\u file 以下是一个示例配置: monolog: handlers: main: type: rotating_file path: %kernel.logs_dir%/%kernel.environment%.log level: de

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

有一个名为
rotating\u file

以下是一个示例配置:

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

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

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

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

你应该在谷歌上寻找logrotate,以获取更多信息

@Seldaek也许你可以发布一个说明它的答案?作为独白的创作者,你比我更清楚如何做到这一点作为Monolog的创建者,我知道我不想重写一个永远存在并且运行良好的工具,但我不是logrotate pro:)不管怎样@loicfavory在下面发布了一个logrotate配置示例,所以我就到此为止。我只是想指出,并不是所有的任务都最好用php来完成。这正是我想要的。非常感谢。如果它还可以选择压缩旧日志,那就更好了。:)如果只旋转一个文件而不使用任何脚本(如postrotate),则不需要SharedScript。如果要在创建此配置文件后手动强制旋转,请运行
logrotate--force/etc/logrotate.d/sf2_myapp