如何为生产启用某些(并非所有)monolog处理程序?

时间:2016-06-29 14:32:03

标签: symfony production-environment monolog

我有一个symfony2应用程序,它有一堆monolog处理程序。开发环境的日志记录工作正常,但我希望一个monolog处理程序始终记录,命名transmission_recorder,也在prod上。然而对于prod,日志记录是无效的。

我假设finger_crossed可能会阻止登录prod,但我不想为所有monolog处理程序启用所有内容的记录,只针对特定的一个。

我如何实现这一目标?

这是我的相关配置:

config.yml

monolog:
    handlers:
        console:
            type: console
        transmission_recorder:
            type: service
            id: dba.handler.transmission.recorder

config_dev.yml

imports:
    - { resource: config.yml }
monolog:
    handlers:
        main:
            type:   rotating_file
            path:   "%kernel.logs_dir%/%kernel.environment%.log"
            level:  debug
            max_files: 14
            channels:
                - "!event"
        console:
            type:   console
            bubble: false            

config_prod.yml

imports:
    - { resource: config.yml }

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: WARNING
            handler:      grouped_warning
        grouped_warning:
            type: group
            members:
                - file_debug
        file_debug:
            type:  rotating_file
            path:  "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            max_files: 14
        console:
            type:  console

0 个答案:

没有答案