如何修改Symfony 4内置Web服务器的日志级别?
嘿,这个问题我之前在Symfony 4项目里也碰到过,默认开发环境下确实会疯狂输出debug级别的日志,给你几个实用的调整方法:
1. 快速修改:调整.env文件的环境变量
这是最简单的方式,直接在项目根目录的.env文件里添加或修改日志级别配置:
# 可选级别:debug, info, notice, warning, error, critical, alert, emergency LOG_LEVEL=info
如果只是想临时关闭所有debug日志,也可以把APP_DEBUG=1改成APP_DEBUG=0,但这样会同时关闭页面上的错误详情提示,开发时不太方便,更推荐单独调整LOG_LEVEL。
2. 精细控制:修改Monolog配置文件
要是需要针对不同日志通道设置不同级别,就去config/packages/dev/monolog.yaml里调整:
monolog: handlers: main: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: info # 把原来的debug改成你需要的级别 channels: ["!event"] # 其他handler如果有需要也可以同步调整
这样既能保留开发环境的debug模式(比如错误页面的详细堆栈信息),又能过滤掉冗余的debug日志。
3. 临时生效:启动服务器时指定环境变量
如果不想修改任何配置文件,只是这次启动想临时调整,可以直接在启动命令前加环境变量:
LOG_LEVEL=info php -S 127.0.0.1:8000 -t public
这个设置只会对当前启动的服务器生效,下次启动还是会用默认配置。
补充一句:Symfony在dev环境下默认会把日志输出到控制台,所以你启动内置服务器时能看到这些内容;如果切换到prod环境,默认日志级别会自动调高,就不会有这个问题啦。
内容的提问来源于stack exchange,提问作者Luc Wollants
相关产品推荐
相关产品推荐

