В моем приложении 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
, Любые идеи, как это исправить, приветствуются. Спасибо.
просто нужно изменить уровень действия с информации на отладку для нужного канала
file_2:
type: stream
path: %kernel.logs_dir%/mylogfile_2.log
level: debug // <== change from info to debug here
channels: [my_channel2]
Других решений пока нет …