私はSentryを使用して、Laravelアプリケーションからの例外を追跡しています。Laravelに新しい例外ハンドラを追加するには、デフォルトの例外ハンドラを無効にしないでください。
歩哨の文書は、私がクライアントセットアップに自分のアプリケーションのブートストラップに次のコードを使用する必要があります言う:
$app->configureMonologUsing(function($monolog) {
$client = new Raven_Client('your dsn');
$handler = new Monolog\Handler\RavenHandler($client);
$handler->setFormatter(new Monolog\Formatter\LineFormatter("%message% %context% %extra%\n"));
$monolog->pushHandler($handler);
});
そして、それが正常に動作します!
Laravelのデフォルトの例外ハンドラは、ファイルに例外を書き込みます(/storage/logs/laravel.log
)。新しい例外ハンドラの追加後に動作を停止します。
どのようにして両方のハンドラを保持できますか?
私はここで探していますhttps://github.com/laravel/framework/blob/5.2/ src/Illuminate/Foundation/Bootstrap/ConfigureLogging.phpがありますが、そこには 'StreamHandler'インスタンスがありません。 –
'StreamHandler'をMonologパッケージからインポートします。ソースはhttps://github.com/Seldaek/monolog/blob/master/src/Monolog/Handler/StreamHandler.phpにありますが、 Laravelの動作を再現するために 'Illuminate \ Log \ Writer'よりも深く潜り込んでください。答えのコードはうまくいくはずです。 – Nick
私はもっと簡潔なものを期待していました。おそらく、フレームワークにはデフォルトのロガーを保持する方法があるはずです。しかし、あなたの誤りではなく、あなたのコードはうまくいった。ありがとうございました! –