Symfony monolog записывает логи в разные файлы по каналам - PullRequest
0 голосов
/ 20 декабря 2018

В моем приложении 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.Любые идеи, как это исправить, приветствуются.Спасибо.

1 Ответ

0 голосов
/ 20 декабря 2018

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

file_2:
    type:   stream
    path:   %kernel.logs_dir%/mylogfile_2.log
    level:  debug // <== change from info to debug here
    channels: [my_channel2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...