启动 Docker 容器时,我无法从 supervisord/runit log/stdout 中的 Symfony 工作人员获取日志。是的,我尝试使用 supervisord 和 runit,但仍然无法正常工作。如果我在代码中有一些异常,我可以在标准输出中定期看到它,但仅此而已。
我担心我的 Monolog 配置有问题,因为如果我echo
在代码中添加常规,我可以看到输出。
Monolog 文件很简单:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine", "!console"]
我尝试在 php.ini 文件中使用path: 'php://stdout'
或使用/取消更改,例如: 、、、,但显然不起作用。我找不到合适的组合。path: 'php://stderr'
display_errors = On
error_log = /proc/self/fd/2
catch_workers_output = yes
Symfony worker 是一个长生命周期的进程,我需要一些 init 处理器来启动它,比如 supervisord 或 runit。
对于 runit,我尝试了一些技巧:https ://git.nixaid.com/arno/show-runit,但正如我上面提到的,正常echo
工作,而 PSR Symfony 日志不是。
对于 supervisord 和 runit,尝试了这个:Symfony logs to stdout inside Docker container,但同样 - 不起作用。
有什么提示吗?