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