创建频道并将频道的日志写入其他文件

时间:2014-04-18 05:15:12

标签: symfony-2.3 monolog

我在services.yml

中创建了服务容器标签的频道
 parameters:
     restApiClass: "Telnet\ApiBundle\Services\RestApi"

 services:

     restApi: 
         class:      "%restApiClass%" 
         arguments: [@logger]
         tags:                                                                                                                                                                                 
             - { name: monolog.logger, channel: rest_api } 

然后配置monolog的处理程序将此通道写入不同的文件

monolog:
    handlers:
        main:
            type:  stream
            path:  "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
            channels: [!rest_api]
        rest_api:
            type: stream
            path: "%kernel.logs_dir%/api.%kernel.environment%.error.log"
            level: error
            channels: [rest_api]
        firephp:
            type:  firephp
            level: info
        chromephp:
            type:  chromephp
            level: info

但我收到了一个错误:

  

InvalidArgumentException:Monolog配置错误:日志记录   分配给“rest_api”处理程序的通道“rest_api”不存在。

我需要做些什么才能让它以我想要的方式运作? 顺便说一句,我正在使用带有LTS的Symfony 2.3版本

1 个答案:

答案 0 :(得分:2)

嗯,傻,我。我手动创建了bundle,但忘记在AppKernel中加载它。对不起=)