启动Docker容器时,无法从我的supervisor / runit log / stdout中的Symfony工人那里获取日志。是的,我尝试使用supervisor和runit,但仍然无法正常工作。如果我在代码中有一些异常,我可以在stdout中定期看到它,但是只有那样。
恐怕我的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"]
我尝试对path: 'php://stdout'
或path: 'php://stderr'
进行php.ini文件的更改,例如:display_errors = On
,error_log = /proc/self/fd/2
,catch_workers_output = yes
,但是显然不行。我找不到合适的组合。
Symfony工作者的工作过程很长,我需要一些init处理器来启动它,例如supervisor或runit。
对于runit,我尝试了一些技巧:https://git.nixaid.com/arno/show-runit,但是如上所述,常规的echo
可以工作,而PSR Symfony则不能。
对于有监督者和runit,请尝试以下操作:Symfony logs to stdout inside Docker container,但相同-不起作用。
有任何提示吗?