4

我在 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 版本

4

1 回答 1

3

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

于 2014-04-18T07:13:46.203 回答