我正在使用Symfony 4,我想为许多日志类型创建一个专用通道: 这是我对通道和处理程序的配置:
monolog:
channels: ["channel1", "channel2"]
handlers:
channel1:
level: debug
type: stream
path: "%kernel.logs_dir%/channel1.log"
channels: ["channel"]
channel2:
level: debug
type: stream
path: "%kernel.logs_dir%/channel2.log"
channels: ["channel2"]
然后,在写日志的服务中,我注入了自定义
services:
_defaults:
autowire: true
autoconfigure: true
Infrastructure\Logger\Channel1Logger:
arguments:
- '@monolog.logger.channel1'
Infrastructure\Logger\Channel2Logger:
arguments:
- '@monolog.logger.channel2'
但是,我所有的日志都直接写入了“ app”频道, 调试容器时,我看到了列出的服务 我在做什么错了?
答案 0 :(得分:1)
我发现了错误。默认情况下,config / services.yaml将覆盖外部文件中的所有配置。这就是为什么我的日志继续位于默认通道(自动装配)的原因。为了避免这种情况,您必须从自动装配中排除记录器自定义文件