Пользовательский монолог-обработчик для монолога по умолчанию в Symfony 2

Я хочу добавить пользовательский обработчик к монологу по умолчанию в Symfony 2.

В моем файле config.yaml меня есть:

 monolog: handlers: main: type: stream path: %kernel.logs_dir%/%kernel.environment%.log level: debug myHandler: type: Acme\MyBundle\Monolog\MyCustomHandler level: error 

Мой класс выглядит следующим образом:

 // Acme\MyBundle\Monolog\MyCustomHandler use Monolog\Logger; use Monolog\Handler\SocketHandler; use Monolog\Formatter\LineFormatter; class MyCustomHandler extends AbstractProcessingHandler { ... } 

Но даже до того, как я заполнил свой класс, я получаю сообщение об ошибке:

недействительный тип обработчика «acme \ mybundle \ monolog \ mycustomhandler» для обработчика «myHandler»

Как добавить пользовательский обработчик к монологу по умолчанию, не создавая новую монологическую службу?

Related of "Пользовательский монолог-обработчик для монолога по умолчанию в Symfony 2"

Попробуй это:

 monolog: handlers: main: type: stream path: %kernel.logs_dir%/%kernel.environment%.log level: debug custom: type: service id: my_custom_handler services: my_custom_handler: class: Acme\MyBundle\Monolog\MyCustomHandler 

Если вы хотите использовать его как обработчик по умолчанию, тогда вы должны изменить бит монолога, который я написал выше.

 monolog: handlers: main: type: stream path: %kernel.logs_dir%/%kernel.environment%.log level: debug handler: custom custom: type: service id: my_custom_handler 

Надеюсь, это поможет вам.

Я только узнал, что Monolog поставляется с набором различных обработчиков, поэтому вы можете использовать один из них вместо того, чтобы писать свои собственные. Я использую LogEntriesHandler для входа в logentries.com, но есть еще несколько, как описано здесь: https://github.com/Seldaek/monolog#log-specific-servers-and-networked-logging

Моя конфигурация Symfony2 выглядит так:

 monolog: main: type: fingers_crossed level: debug handler: nested custom: type: service id: monolog.handler.logentries level: error services: monolog.handler.logentries: class: Monolog\Handler\LogEntriesHandler arguments: token: %logentries_token%