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

Symfony+React生产环境api/var/log/prod.log为空问题排查

可能的原因及排查方案

  • fingers_crossed 处理器触发规则问题
    你生产环境默认用的 fingers_crossed 日志处理器的触发阈值是 error 级别,只有当应用产生了 error 及以上级别的日志时,才会把缓冲区的所有日志写入到 prod.log 文件。如果你的生产环境运行正常没有出现错误,日志自然是空的。
    要验证这个问题可以临时把 action_level 改成 debug,或者直接把主处理器改成 stream 类型,改完记得清prod缓存。

  • Symfony 生产缓存未清理
    你修改 monolog.yaml 配置后,必须执行 php bin/console cache:clear --env=prod 清理生产环境缓存,配置才会生效。你只做了前端 npm run-script build 构建,没清后端缓存的话,改的配置根本不会生效。

  • 环境变量配置错误
    确认你生产环境的 APP_ENV 环境变量确实设置为 prod,如果实际是 dev 或者其他值,日志会写入对应环境的日志文件,不会写到 prod.log。可以执行 php bin/console about --env=prod 查看实际生效的环境配置。

  • 日志写入路径不匹配
    你 Kernel 中配置的日志目录是项目根目录下的 /var/log,需要确认生产环境中 getProjectDir() 实际指向的路径是不是你预期的 api 目录,避免找错日志文件的存放位置。

  • 写入权限/PHP配置限制
    即使你给了 prod.log 0777权限,也要确认运行PHP进程(php-fpm、apache mod-php等)的用户对日志目录有写入权限,同时检查PHP的 open_basedir 配置有没有限制日志目录的写入权限。可以手动写一行测试error日志验证写入是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:18:01