Monolog stdout / stderr регистрирует текущий процесс терминала в Docker - PullRequest
0 голосов
/ 14 февраля 2019

У меня в 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 (или любойрабочий) процесс?

...