1

通常のhttpリクエスト中にエラーが発生すると、Symfony2はすべてをログに記録し(ログレベルに応じて)、dev.logまたはapp.logで確認できます。

ただし、カスタムコマンドの実行中にエラーが発生した場合、何もログに記録されません。標準出力に赤いメッセージが表示されるだけで、バックトレースすらありません。

最初のケースのように、すべてのエラーをログに記録するにはどうすればよいですか?

4

2 に答える 2

2

--verboseコマンドの実行時にオプションを追加すると、バックトレースが表示されます。

必要に応じて、コンテナからモノログロガーをキャッチ\Exceptionして使用できると思います(コマンドはDICにアクセスできます)。

Symfony\Component\Console\Applicationクラスとメソッドを拡張し、そこでエラーをログに記録するなど、必要に応じて他の方法でも実行できると思いますがrenderException、実際には実行しません。コマンド/アプリケーションAPIでそれが可能になることを確認してください。

于 2012-09-20T08:22:03.550 に答える
1

私は自分でこれをしなければなりませんでした、Symfony2はそれをしません。

すべてのエラーと例外をキャッチしてログに記録するBaseCommandを作成して拡張します。

于 2012-11-13T10:50:10.377 に答える