默认情况下,BasicConfigurator不会在JUnit测试中记录堆栈跟踪

问题描述

|| 在运行一些JUnit测试时,我从以下内容开始设置Log4J:
BasicConfigurator.configure()
然后,我通过Commons Logging调用以下命令:
LogFactory.getLogger(this.getClass()).fatal(exception)
但是,这不会打印堆栈跟踪(仅异常消息)。 我需要知道通过JUnit测试中使用的简化日志记录设置来打印堆栈跟踪的必要步骤吗?我希望不必仅针对JUnit测试就完全配置Log4J,但是如果需要的话,请告诉我。     

解决方法

        这与记录器配置无关。 阅读javadoc中的
fatal(Object)
方法。它说:   \“警告请注意,将Throwable传递给此方法将打印Throwable的名称,但不显示堆栈跟踪。要打印堆栈跟踪,请使用fatal(Object,Throwable)形式。\” 如果希望日志包括堆栈跟踪,则必须使用该方法的2参数版本。这也适用于其他日志级别的相应方法。