在Web应用程序中由第三方代码创建的线程中记录未捕获的异常

时间:2012-06-07 10:29:43

标签: java multithreading glassfish uncaught-exception

我怀疑由我的Web应用程序使用的第三方jar创建的线程可能会抛出异常,而不是捕获它。但是,我在日志文件中没有看到任何此类证据。如何强制将所有未捕获的异常转储到日志文件中?这适用于在Glassfish中运行的Web应用程序。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以使用Thread's setDefaultUncaughtExceptionHandler静态方法设置默认的未捕获异常处理程序:

Thread.setDefaultUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler() {
            public void uncaughtException( final Thread t, final Throwable e ) {
                ...

答案 2 :(得分:0)

事实证明,这对Glassfish来说并不是必需的,因为Glassfish已经做到了 - 但我在日志中查找错误的位置。

异常打印到主server.log文件 - 而不是我应用程序自己的log4j日志文件。