php – 为什么Symfony仍然登录到dev.log文件,即使我没有在loghandler中定义它?
作者:互联网
在执行Symfony命令期间,我想将消息记录到另一个文件.我已经阅读了Symfony和Monolog文档,它应该像我在这里描述的那样工作. (请注意,我知道来自’doctrine’,’event’,…频道的消息仍将由主处理程序记录,但这对我来说无关紧要)
在我的config.yml中,我有这个:
monolog:
channels: [commandline]
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.main.log"
level: debug
channels: [!commandline]
commandline:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.commandline.log"
level: debug
channels: commandline
stdout:
type: stream
path: "php://stdout"
level: debug
channels: commandline
mail:
type: stream
action_level: alert
handler: buffered_mail
buffered_mail:
type: buffer
handler: swift
swift:
type: swift_mailer
from_email: some@email.com
to_email: some@email.com
subject: "Something went wrong"
level: alert
我期待有2个日志文件:dev.main.log和dev.commandline.log.
但我仍然有第三个日志文件:dev.log记录所有消息.
我似乎没有找到定义loghandler的位置以及如何阻止它记录事物……
如果有人能指出我正确的方向,那就太好了!
顺便说一句,我正在使用:
> symfony 2.3
> monolog-bundle 2.4
编辑
config_dev.yml中没有monolog部分
解决方法:
从config_dev.yml中删除monolog.handlers.mainfrom.
它通常包含path: "%kernel.logs_dir%/%kernel.environment%.log"
config _dev.yml(默认)
monolog:
handlers:
main: # <- remove this handler
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log" #<- logs/dev.log
level: debug
从此配置文件中删除主处理程序.
标签:php,symfony,logging,monolog 来源: https://codeday.me/bug/20190517/1120895.html