22

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
{
    ...
}

しかし、クラスに記入する前でも、エラーが発生します。

ハンドラー「myHandler」に指定された無効なハンドラー タイプ「acme\mybundle\monolog\mycustomhandler」

新しい monolog サービスを作成せずに、カスタム ハンドラーをデフォルトの monolog に追加するにはどうすればよいですか?

4

2 に答える 2

42

これを試して:

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

お役に立てば幸いです。

于 2012-10-17T14:52:01.367 に答える
8

Monologさまざまなハンドラーのセットが同梱されていることがわかったので、独自のハンドラーを作成する代わりに、それらのいずれかを使用することをお勧めします。私はLogEntriesHandlerlogentries.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%
于 2015-04-19T09:14:12.843 に答える