我想在开发环境中为symfony日志进行配置,以便记录除404错误以外的所有消息。
我测试了以下配置:
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_http_codes: [404]
buffer_size: 50
nested:
type: rotating_file
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
max_files: 30
在这种配置下,404消息不会出现在日志中,但问题是像“event.DEBUG”或“request.INFO”这样的消息也不会出现,而我希望它们出现,因为我是在开发环境中。
因此,我认为“action_level”太高,所以我对其进行了修改:
monolog:
handlers:
main:
type: fingers_crossed
action_level: debug <========== I replaced error with debug
handler: nested
excluded_http_codes: [404]
buffer_size: 50
nested:
type: rotating_file
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
max_files: 30
现在在日志中,我可以看到“event.DEBUG”或“request.INFO”消息,但我也看到404错误...
这就像排除的_http_codes不起作用。
我的问题是,我如何才能在日志中不显示404错误,同时保留“event.DEBUG”或“request.INFO”之类的消息?
谢谢你(也为我的英语道歉)
1条答案
按热度按时间nvbavucw1#
您可以创建一个自定义的ErrorListener,它负责HTTP错误日志记录并覆盖默认的ErrorListener。在下面的代码中,dev环境由包含
APP_DEBUG
env变量的$this->debug
属性确定。并注册此侦听器