Monolog stdout / stderr记录到Docker中的当前终端进程

问题描述 投票:4回答:1

我有一个在Docker中运行的PHP / Symfony应用程序,它使用Monolog登录到stdout / stderr。除了在容器中运行Symfony控制台命令时,所有这些都很好用。

monolog:
    handlers:
        stdout:
            type: filter
            handler: stdout_unfiltered
            max_level: notice
            channels: ['!event']

        stdout_unfiltered:
            type: stream
            level: debug
            path: 'php://stdout'

        stderr:
            type: stream
            level: warning
            channels: ['!event']
            path: 'php://stderr'

        console:
            type: console
            channels: ['!console', '!doctrine', '!event']
            process_psr_3_messages: false

问题是,无论何时执行命令,“ stdout”,“ stderr”和“ console”处理程序都会登录到当前的终端进程。这将导致控制台输出混乱,并且docker logs不包含日志条目:http://i.imgur.com/yB1IKrR.png

是否有简单的方法始终将日志输出发送到php-fpm(或任何工作程序)进程?

symfony docker monolog
1个回答
0
投票

您找到解决方案了吗?

谢谢您的建议

© www.soinside.com 2019 - 2024. All rights reserved.