Log4j没有记录一些堆栈跟踪

时间:2012-11-24 09:49:03

标签: java exception logging log4j stack-trace

我正在使用log4j 1.2.16和带有EnhancedPatternLayout的root logger来实现我的目的。

代码就像那样(在ScheduledFuture中捕获异常):

try
{
    _task.run();
}
catch(RejectedExecutionException ree) {}
catch (Exception e)
{
    log.error("Exception in a scheduled task:", e);
}


接下来会发生这种情况,某些异常不会在日志文件中留下任何堆栈跟踪。

这是NPE的正常日志:

[24.11.12 11:08:31] Exception in a scheduled task:
java.lang.NullPointerException
    at com.test.server.taskmanager.TestTask$1.run(TestTask.java:116)
    at com.test.server.threading.RunnableWrapper.execute(RunnableWrapper.java:65)
    at com.test.server.threading.RunnableWrapper.run(RunnableWrapper.java:57)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
        .....

接下来是ClassCastException:

[24.11.12 11:16:37] ...
[24.11.12 11:18:30] Exception in a scheduled task:
java.lang.ClassCastException
[24.11.12 11:18:37] ...
[24.11.12 11:20:37] ...
[24.11.12 11:21:51] Exception in a scheduled task:
java.lang.ClassCastException
[24.11.12 11:22:37] ...


我不明白.. ClassCastException的堆栈跟踪在哪里?
为什么会发生这种情况,有没有办法解决这个问题?

0 个答案:

没有答案