2016-12-11 6 views
0


私のアプリケーションではslf4j/log4jを使用しています。
私の問題は、今の私が唯一の例外は次のようにトライキャッチのキャッチセクションで適切なロガーメソッド呼び出しトレーススタックログインすることができるよということです。私はまた、ログファイルに入れたいSLF4J-LOG4Jログファイルにもキャッチされない例外を保存する方法

​​

をNullPointerExceptionやNumberFormatExceptionのように、私がカントを置かなかったランタイム例外。
コンソールに表示されているので、コンソールからSLF4Jロガーにこのストリームをリダイレクトする方法があると思います。
どうすればいいですか?

+1

スレッドクラスには、キャッチされない例外ハンドラを登録するメソッドがあります。 – Fildor

答えて

1

のチェックを外しての例外をキャッチする場合は、RuntimeExceptionをキャッチしてログに記録します。
すべての例外をログに記録するには、Exceptionをキャッチしてログに記録します。
エラーを記録するには、Throwableをキャッチしてログに記録します。

は、コマンドラインプログラムの場合、あなたはおそらくtryブロック内のロギングフレームワークを初期化後を開始し、main()方法でこれを行うにしたいと思います。

run()メソッドでスレッドを使用している場合は、Runnable/Threadというメソッドでこれを行うとよいでしょう。

サーブレットWebアプリケーションでは、Filterでそれを行い、コンテナがエラーを正しく処理できるように例外を再試行します。

+0

こんにちは、あなたの答えをありがとう、それは動作するはずです。 私はそれを管理するより良い方法があると思いますが、これはちょっとした回避策のようです。私は誰かがより良いアイデアを持っているかどうかを見て待って、最終的にあなたの選択された答え – user2572526

関連する問題