如何使用Symfony2.2中的Monolog将消息记录到不同的文件?

时间:2013-09-18 16:07:29

标签: symfony symfony-2.2 logrotate monolog

我想在symfony2应用程序中使用Monolog进行日志记录,但我的问题是如何每天拆分文件而不是附加到同一个文件?

我希望我的日志文件如下所示:

“%kernel.logs_dir%/%kernel.environment%。%%日期的.log” 应将%date%替换为实际日期。

我读过logrotate,但我不明白如何使用它?

2 个答案:

答案 0 :(得分:2)

使用多个处理程序

示例:

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        ex1:
            type:  stream
            path:  %kernel.logs_dir%/ex1.log
            level: info
        ex2:
            type:  stream
            path:  %kernel.logs_dir%/ex2.log
            level: error

在Symfony2 Cookbook http://symfony.com/doc/current/cookbook/logging/monolog.html

中对此进行了解释

具体针对您(频道):http://symfony.com/doc/current/cookbook/logging/channels_handlers.html

答案 1 :(得分:1)

这将为每天创建一个新文件。您还可以定义最大数量的文件。

monolog:
    handlers:
        main:
            type:       rotating_file
            path:       "%kernel.logs_dir%/%kernel.environment%.log"
            level:      notice
            max_files:  10

它会自动为文件名创建日期,因此您不必担心。

http://symfony.com/doc/current/cookbook/logging/monolog.html