我怀疑由我的 Web 应用程序使用的第三方 jar 创建的线程可能会抛出异常,并且没有捕获它。但是,我在日志文件中没有看到任何证据。如何强制将所有未捕获的异常转储到日志文件?这是针对在 Glassfish 中运行的 Web 应用程序。
问问题
1573 次
3 回答
1
您可以更改未捕获的异常处理程序。
http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html
于 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 回答