Как определить пользовательский форматировщик логирования

Как определить пользовательский форматировщик логирования

Каждый обработчик логирования использует Formatter, чтобы форматировать запись перед тем, как её логировать. Все обработчики Monolog по умолчанию используют экземпляр Monolog\Formatter\LineFormatter,, но вы можете с лёгкостью заменить его. Ваш форматировщик должен релизовывать Monolog\Formatter\FormatterInterface.

Например, чтобыиспользовать встроенный JsonFormatter, зарегистрируйте его как сервис, а потом сконфигурируйте ваш обработчик так, чтобы он его использовал:

  • YAML
  • XML
  • PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
# config/services.yaml
services:
    # ...

    Monolog\Formatter\JsonFormatter: ~

# config/packages/prod/monolog.yaml (and/or config/packages/dev/monolog.yaml)
monolog:
    handlers:
        file:
            type: stream
            level: debug
            formatter: Monolog\Formatter\JsonFormatter