Monolog нажимает один и тот же пользовательский обработчик 11 раз в службе регистрации приложения Symfony

У меня есть следующая запись конфигурации в моем приложении Symfony2:

monolog:
channels:
- channel1
- channel2
handlers:
main:
channels: !channel2
type:     error_log
custom:
channels: channel2
level:    info
type:     stream
path:     %logs_base_path%/file.log

Который, начиная с MonologBundle 2.4, создает для меня услуги monolog.logger.channel1 а также monolog.logger.channel2, Кстати, я использую MonologBundle 2.6.1.

Когда я вводить регистратор для channel2 в одной из моих служб, и я регистрирую сообщение, я нахожу то же сообщение, повторенное 11 раз (!) в file.log,

Через некоторое время я проверил сгенерированный файл контейнера и обнаружил следующее:

protected function getMonolog_Logger_Channel2Service()
{
$a = $this->get('monolog.handler.custom');

$this->services['monolog.logger.channel2'] = $instance = new \Symfony\Bridge\Monolog\Logger('channel2');

$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($a);
$instance->pushHandler($this->get('monolog.handler.debug'));

return $instance;
}

Это объясняет мою проблему: у меня один и тот же обработчик выдавлен 11 раз в моем настраиваемом логгере для channel2. Что-то не так в моей конфигурации монолога? Я бы проверил генератор кода для файла контейнера, но я не знаю, где искать.

FWIW: channel1 зарегистрирован правильно (он не связан ни с какими пользовательскими обработчиками).

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]