使用 log4j 以编程方式创建不同的日志文件
我有一个自动化集成测试工具,并希望简化日志记录(使用log4j实现)
我有许多高级测试,每个测试都有一个id,并且每个测试需要一个单独的日志文件。由于测试是随机创建的,因此在运行时之前不知道 ID。
因此,我想确保将每个高级测试中的日志记录写出到该测试的日志文件中。
我不想创建自定义日志级别,也不希望将日志记录发送到所有追加器。
有谁知道这样做的方法吗?
我有一个自动化集成测试工具,并希望简化日志记录(使用log4j实现)
我有许多高级测试,每个测试都有一个id,并且每个测试需要一个单独的日志文件。由于测试是随机创建的,因此在运行时之前不知道 ID。
因此,我想确保将每个高级测试中的日志记录写出到该测试的日志文件中。
我不想创建自定义日志级别,也不希望将日志记录发送到所有追加器。
有谁知道这样做的方法吗?
您可以轻松地以编程方式调用log4j的API,例如
FileAppender appender = new FileAppender();
// configure the appender here, with file location, etc
appender.activateOptions();
Logger logger = getRootLogger();
logger.addAppender(appender);
可以是此示例中的根记录器,也可以是树中的任何记录器。单元测试可以在 steup 期间添加其自定义追加器,并在拆卸期间删除追加器(使用 )。logger
removeAppender()