Monolog не пишет в нужный файл журнала - PullRequest
2 голосов
/ 20 июня 2019

Я на Symfony 4 и хочу создать выделенный канал для многих типов журналов: это моя конфигурация для каналов и обработчиков:

 monolog:
  channels: ["channel1", "channel2"]

  handlers:
    channel1:
      level: debug
      type:  stream
      path:  "%kernel.logs_dir%/channel1.log"
      channels: ["channel"]

    channel2:
      level: debug
      type:  stream
      path:  "%kernel.logs_dir%/channel2.log"
      channels: ["channel2"]

Затем в моем сервисе для записи лога я встраиваю кастом

 services:
  _defaults:
    autowire: true
    autoconfigure: true
  Infrastructure\Logger\Channel1Logger:
    arguments:
       - '@monolog.logger.channel1'

  Infrastructure\Logger\Channel2Logger:
    arguments:
      - '@monolog.logger.channel2'

Но все мои логи напрямую пишутся на канал "приложение", Когда я отлаживаю контейнер, я вижу свои службы в списке Что я делаю не так?

1 Ответ

1 голос
/ 24 июня 2019

Я нашел ошибку.По умолчанию config / services.yaml переопределяет всю конфигурацию из внешних файлов.Вот почему мой журнал продолжает оставаться на канале по умолчанию (автоматическое подключение).Чтобы избежать этого, вы должны исключить пользовательские файлы регистраторов из автоматической проводки

...