[PHP/Monolog] Console logger logt te veel informatie

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • egonolieux
  • Registratie: Mei 2009
  • Laatst online: 06-01-2024

egonolieux

Professionele prutser

Topicstarter
Ik draai een PHP/Symfony app in Docker waarin ik Monolog gebruik om te loggen naat stdout/stderr. Dit werkt naar behoren, tenzij ik Symfony console commands uitvoer in een container.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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: ['!event', '!doctrine', '!console']
            process_psr_3_messages: false


Het probleem is dat wanneer een commando wordt uitgevoerd, de "stdout", "stderr" en "console" handlers hun output loggen in het huidige terminal proces (bash). Dit zorgt er voor dat de console output verprutst wordt en dat `docker logs` de log entries niet bevat: https://i.imgur.com/yB1IKrR.png.

Bestaat er misschien een makkelijke manier om de logging output altijd naar het php-fpm (of worker) process te sturen?

[ Voor 36% gewijzigd door egonolieux op 14-02-2019 00:43 ]