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