Symfony monolog записывает логи в разные файлы по каналам

В моем приложении Symfony я использую монолог для регистрации ошибок, и у меня есть разные каналы. Мне нужно записывать разные каналы в разные файлы. У меня получился такой конфиг монолога:

//app\config\config.yml
monolog:
channels: ['my_channel', 'my_channel2']
use_microseconds: false
handlers:
    file:
        type:   stream
        path:   %kernel.logs_dir%/prod_info.log
        level:  info
        channels: [!my_channel2]
    file_2:
        type:   stream
        path:   %kernel.logs_dir%/mylogfile_2.log
        level:  info
        channels: [my_channel2]
    file_errors:
        type:   stream
        path:   %kernel.logs_dir%/cms_errors.log
        level:  error
        channels: [!my_channel2]

моя конфигурация config.prod

monolog:
handlers:
    main:
        type:         fingers_crossed
        action_level: debug
        handler:      nested
        channels: [!my_channel2]
    nested:
        type:  stream
        path:  "%kernel.logs_dir%/main_%kernel.environment%.log"
        level: debug
        channels: [!my_channel2]
    console:
        type:  console

Я могу получить доступ к my_channel2 в таком коде:

$logger = $this->get('monolog.logger.my_channel2');
$logger->debug('Some message here');

но все же все сообщения my_channel2 записываются в файл main_prod.log вместо mylogfile_2.log. Приветствуются любые идеи, как это исправить. Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
52
1

Ответы 1

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

file_2:
    type:   stream
    path:   %kernel.logs_dir%/mylogfile_2.log
    level:  debug // <== change from info to debug here
    channels: [my_channel2]

Другие вопросы по теме