2009-11-03 59 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())。