5

デバッグ メッセージをログ ファイルに書き込めるようにしたいと考えています。これを行う適切な方法は何ですか?私がそこに見つけることができるドキュメントは絶対にありません。Monolog バンドルが言及されていることは知っていますが、何も書いていません。提案してください。

4

1 に答える 1

13

デフォルトで含まれているMonologBu​​ndleを使用していると仮定します

ステップ1

ハンドラーサービスを定義し、そこにディレクトリ/ファイルを渡します

your.log.handler:
    class: %monolog.handler.stream.class%
    arguments: [ %kernel.logs_dir%/%kernel.environment%.yourFileName.log ]

クラスパラメータはMonologBu​​ndle%monolog.handler.stream.class%で定義されており、クラスです。Monolog\Handler\StreamHandler

ステップ2

ロガーサービスを定義し、そこにハンドラーを注入します

your.logger:
    class: %monolog.logger.class%
    arguments: [ nameOfLoggingChannel ]
    calls: [ [pushHandler, [@your.log.handler]] ]

パラメータ%monolog.logger.class%MonologBu​​ndleSymfony\Bridge\Monolog\Loggerで定義され、クラスを表します

ステップ3

それをコントローラーに注入し、通常のロガーとして使用します

$logger = $this->get('your.logger');
$logger->warn('We are using custom logger');

あなたのapp/logs/dev.yourFileName.log

于 2012-08-03T06:03:21.997 に答える