java—使用log4j以编程方式创建不同的日志文件

aiqt4smr  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(292)

我有一个自动化集成测试工具,并希望简化日志记录(使用log4j实现)
我有很多高级测试,每个测试都有一个id,每个测试都需要一个单独的日志文件。由于测试是随机创建的,所以直到运行时才知道ID。
因此,我希望确保每个高级测试中的日志记录都被写入该测试的日志文件中。
我不想创建自定义日志级别,也不想将日志发送到所有附加程序。
有人知道怎么做吗?

fivyi3re

fivyi3re1#

您可以很容易地以编程方式调用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() )在拆卸过程中。

相关问题