如何解决默认情况下,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参数版本。这也适用于其他日志级别的相应方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。