Я использую 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'
Но все мои логи напрямую записываются в канал "приложение", Когда я отлаживаю контейнер, я вижу список своих служб Что я делаю неправильно?
Не могли бы вы скопировать свой комментарий в новый ответ, а затем пометить его как выбранный? Хорошая находка, кстати, приятно знать.
Я вставил это как комментарий






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