2

在运行一些JUnit 测试时,我从以下设置Log4J开始:

BasicConfigurator.configure()

然后我通过Commons Logging调用以下命令:

LogFactory.getLogger(this.getClass()).fatal(exception)

但是,这不会打印堆栈跟踪(仅显示异常消息)。

我需要知道通过 JUnit 测试中使用的简化日志设置打印堆栈跟踪需要哪些步骤?我不希望仅仅为 JUnit 测试完全配置 Log4J,但如果我必须,请告诉我。

4

1 回答 1

5

这与记录器配置无关。

阅读该fatal(Object)方法的 javadoc。它说:

“警告请注意,将 Throwable 传递给此方法将打印 Throwable 的名称,但不会打印堆栈跟踪。要打印堆栈跟踪,请改用 fatal(Object, Throwable) 表单。”

如果您希望日志包含堆栈跟踪,则必须使用该方法的 2 参数版本。这也适用于其他日志级别的相应方法。

于 2011-06-04T04:11:17.767 回答