1

启动 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 = Onerror_log = /proc/self/fd/2catch_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,但同样 - 不起作用。

有什么提示吗?

4

0 回答 0