在运行一些JUnit 测试时,我从以下设置Log4J开始:
BasicConfigurator.configure()
然后我通过Commons Logging调用以下命令:
LogFactory.getLogger(this.getClass()).fatal(exception)
但是,这不会打印堆栈跟踪(仅显示异常消息)。
我需要知道通过 JUnit 测试中使用的简化日志设置打印堆栈跟踪需要哪些步骤?我不希望仅仅为 JUnit 测试完全配置 Log4J,但如果我必须,请告诉我。
在运行一些JUnit 测试时,我从以下设置Log4J开始:
BasicConfigurator.configure()
然后我通过Commons Logging调用以下命令:
LogFactory.getLogger(this.getClass()).fatal(exception)
但是,这不会打印堆栈跟踪(仅显示异常消息)。
我需要知道通过 JUnit 测试中使用的简化日志设置打印堆栈跟踪需要哪些步骤?我不希望仅仅为 JUnit 测试完全配置 Log4J,但如果我必须,请告诉我。
这与记录器配置无关。
阅读该fatal(Object)
方法的 javadoc。它说:
“警告请注意,将 Throwable 传递给此方法将打印 Throwable 的名称,但不会打印堆栈跟踪。要打印堆栈跟踪,请改用 fatal(Object, Throwable) 表单。”
如果您希望日志包含堆栈跟踪,则必须使用该方法的 2 参数版本。这也适用于其他日志级别的相应方法。