2010-07-12 224 views
1

我有一個使用Commons Logging進行日誌記錄的應用程序。它使用Maven構建,並使用TestNG進行測試。我試圖在測試期間微調日誌級別,但沒有任何運氣 - 無論我做什麼,一切都設置爲INFO。我嘗試在類路徑上創建一個logging.properties文件,它完全沒有。我還創建了一個log4testng.properties文件 - 這個文件正在讀取中(我知道這是因爲TestNG在故意向其中引入語法錯誤後顯示錯誤),但其中的設置無效。在TestNG中設置應用程序日誌級別

有什麼建議嗎?


編輯:嗯,我還沒有想出了潛在的問題(爲什麼java.util.logging的是無視我嘗試配置它),但我能得到我想要的東西通過使在測試過程中提供的Log4j ,然後配置它。我正在回答這個問題,因爲我現在真的不在乎。

回答

-1

麥克,

可以在testng.xml文件調整日誌級別:

<suite verbose="3"... (up to 10) 

TestNG的不使用Log4j也不java.util.logging的。

+0

我想你誤會了。我不在乎TestNG的日誌輸出;我關心我的應用程序的輸出。 – 2010-07-13 02:13:13

+0

爲什麼TestNG不使用java.util.properties?這對我來說很愚蠢。使用logging.properties文件來配置java.util.logger類是Java語言廣泛接受的標準,TestNG完全忽略了這一點。 – ecbrodie 2013-07-16 14:12:51

+0

TestNG擁有自己完全令人敬畏的Reporter類。如果您需要添加文件日誌記錄,則可以使用FileAppender將Log4j添加到項目中,否則報告器記錄器對於報告和控制檯輸出就可以了。順便說一下,「詳細的」TestNG選項只有在您記錄Reporter.log語句並且包含日誌級別參數(每個參數都包含)時纔有意義,對嗎? – djangofan 2014-03-19 17:39:40

1

我找到了解決方法。創建的src /測試/資源定製logging.properties,然後在建立呼叫,加載它這樣:

@BeforeClass(alwaysRun = true) 
protected void setUp() throws SecurityException, IOException 
{ 
    FileInputStream fis = new FileInputStream(BaseRestTest.class.getResource("/logging.properties").getFile()); 
    LogManager.getLogManager().readConfiguration(fis); 
} 

TestNG中已經掠奪後,這似乎重新配置根記錄。