1

私の Web アプリケーションで使用されているサードパーティの jar によって作成されたスレッドが例外をスローしている可能性があり、それをキャッチしていない可能性があります。ただし、ログ ファイルにこれに関する証拠はありません。キャッチされていないすべての例外を強制的にログ ファイルにダンプするにはどうすればよいですか? これは、Glassfish 内で実行される Web アプリ用です。

4

3 に答える 3

1

キャッチされていない例外ハンドラを変更できます。

http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html

http://www.javapractices.com/topic/TopicAction.do?Id=229

于 2012-06-07T10:36:43.103 に答える
0

Thread's setDefaultUncaughtExceptionHandler静的メソッドを使用して、デフォルトのキャッチされていない例外ハンドラーを設定できます。

Thread.setDefaultUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler() {
            public void uncaughtException( final Thread t, final Throwable e ) {
                ...
于 2012-06-07T10:37:57.453 に答える
0

これは Glassfish では既に行われているため、Glassfish では不要であることが判明しましたが、ログの間違った場所を見ていました。

例外はserver.log、アプリケーションの log4j ログ ファイルではなく、メイン ファイルに出力されました。

于 2012-06-07T10:55:23.023 に答える