Symfony 3.4如何配置Monolog实现每日日志并为路径添加日期
配置Monolog生成按环境区分的每日日志
嘿,我来帮你搞定这个Monolog的日志配置需求!你当前用的stream处理器只会写入单一文件,要实现按日期滚动且带环境标识的日志,只需要换成Monolog自带的rotating_file处理器就行,它能自动按日期拆分日志,还能帮你管理旧日志文件。
直接替换你的现有配置即可,修改后的完整配置如下:
monolog: handlers: main: type: rotating_file # 替换为支持日期滚动的处理器类型 path: "%kernel.logs_dir%/%kernel.environment%_%date:Y-m-d%.log" # 路径添加日期占位符 level: debug # 日志级别,可按需调整(比如info、error) max_files: 30 # 可选:保留最近30天的日志,超出自动删除 formatter: monolog.formatter.line # 可选:指定日志格式,默认格式也能满足需求
关键配置细节说明:
- type: rotating_file:这个处理器专门用于生成滚动日志,默认就支持按日期分割,完全适配你的需求。
- 路径中的
%date:Y-m-d%:这是Monolog的内置日期占位符,会自动替换为当前的年月日(比如2024-05-20),最终生成的日志文件名会是类似dev_2024-05-20.log这样的格式,既区分环境又带日期。 - max_files:可选参数,设置保留的日志文件数量,避免日志堆积占用过多磁盘空间,默认值是0(不删除旧日志),建议根据你的需求设置一个合理数值,比如30天。
- level:控制哪些级别的日志会被记录,
debug是最详细的级别,如果你只需要记录错误日志,可以改成error。
配置完成后,记得清空缓存(执行php bin/console cache:clear),当天的日志就会自动生成带日期的文件,第二天会自动创建新的日期日志文件,旧日志也会按照你设置的max_files自动清理。
内容的提问来源于stack exchange,提问作者pierzcha
相关产品推荐
相关产品推荐

