You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Symfony持续向dev.log写入调试日志?

解决Symfony持续写入dev.log的问题

问题原因

你的配置中已将main handler改为rotating_file类型,但Symfony dev环境默认的Monolog配置里仍存在一个默认的stream类型handler(写入dev.log,级别debug)。这个默认handler未被覆盖,导致两个handler同时工作:你的rotating_file生成带日期的日志文件,而默认handler持续写入dev.log,最终造成文件快速膨胀。

解决方案

修改dev环境专属的Monolog配置文件(config/packages/dev/monolog.yaml),完全替换默认的handlers,确保只有你定义的handler生效:

monolog:
    channels: ['database_activity']
    handlers:
        # 替换默认的stream类型main handler为rotating_file
        main:       
            type: rotating_file
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: info
            max_files: 10
            formatter: monolog.formatter.json
            channels: [ "!event", "!doctrine" ]
            
        console:
            type: console
            process_psr_3_messages: false
            level: info
            channels: ["!event", "!doctrine", "!console", "!database_activity"]

额外检查项

  • 确认没有其他配置文件(如config/services.yaml或第三方bundle配置)添加了额外的Monolog handler。
  • 检查代码中是否有直接调用Monologdebug()方法且未被排除的channel,避免这类日志绕过配置写入文件。
  • 确保所有handler的level都设置为info或更高,彻底拦截debug级别的日志输出。

内容的提问来源于stack exchange,提问作者Joel Joel Binks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 16:25:20