2009-11-03 55 views
13

編程創建不同的日誌文件我有一個自動化集成的測試工具,並且希望簡化日誌記錄(這是使用的log4j實現)使用的log4j

我有一個號碼的高級測試,每個具有一個ID和每個測試需要一個獨立的日誌文件。由於測試是隨機創建的,所以直到運行時纔會知道ID。

因此,我想確保每個高級測試中的日誌記錄寫出到該測試的日誌文件中。

我不想創建自定義日誌級別,我也不想將日誌記錄發送給所有appender。

有沒有人知道這樣做的方式?

回答

23

您可以通過編程方式輕鬆調用log4j的API,例如,

FileAppender appender = new FileAppender(); 
// configure the appender here, with file location, etc 
appender.activateOptions(); 

Logger logger = getRootLogger(); 
logger.addAppender(appender); 

logger的可根記錄器如在本例中,或向下樹中的任何記錄程序。你的單元測試可以在steup中添加自定義appender,並在拆解過程中移除appender(使用removeAppender())。