2011-06-04 63 views
2

在運行一些JUnit測試我開始用下面的設置Log4J的BasicConfigurator默認情況下不使用JUnit日誌堆棧跟蹤測試

BasicConfigurator.configure()

然後我打電話以下通過通用日誌

LogFactory.getLogger(this.getClass()).fatal(exception)

雖然這不會打印堆棧跟蹤(只有異常消息)。

我需要知道通過JUnit測試中使用的簡化日誌記錄設置打印堆棧跟蹤所需的步驟是什麼?我寧願不必爲JUnit測試完全配置Log4J,但如果必須,請告訴我。

回答

5

這與記錄器配置無關。

閱讀javadoc的fatal(Object)方法。它說:

「警告請注意,將Throwable傳遞給此方法將打印Throwable的名稱,但不打印堆棧跟蹤。要打印堆棧跟蹤,請使用致命(Object,Throwable)表單。

如果您希望日誌包含堆棧跟蹤,則必須使用方法的2參數版本。這也適用於其他日誌級別的相應方法。 OMG!

+0

OMG!爲什麼在這個世界上他們會做一些不直觀的事情?你是細節的主人,並且是當天我最喜歡的人物!謝謝! – 2011-06-04 04:33:35

+0

不客氣! – 2011-06-04 06:45:42