我们正在从 Log4J 1.X 迁移到 Log4J 2.17.1。我们的应用程序需要为事务动态创建日志文件。事务完成后,需要关闭日志文件。我可以弄清楚如何添加附加程序和记录器并初始化配置。但不确定如何在配置初始化后创建和删除附加程序。
这是我的代码-
ConfigurationBuilder<BuiltConfiguration> builder
= ConfigurationBuilderFactory.newConfigurationBuilder();
AppenderComponentBuilder console
= builder.newAppender("stdout", "Console");
AppenderComponentBuilder file1
= builder.newAppender("log1", "File");
file1.addAttribute("fileName", "logging1.log");
LayoutComponentBuilder standard
= builder.newLayout("PatternLayout");
standard.addAttribute("pattern", "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n");
console.add(standard);
file1.add(standard);
builder.add(file1);
builder.add(console);
RootLoggerComponentBuilder rootLogger
= builder.newRootLogger(Level.ERROR);
rootLogger.add(builder.newAppenderRef("stdout"));
rootLogger.add(builder.newAppenderRef("log1"));
builder.add(rootLogger);
LoggerComponentBuilder logger1 = builder.newLogger("com1", Level.DEBUG);
logger1.add(builder.newAppenderRef("log1"));
logger1.addAttribute("additivity", false);
builder.add(logger1);
Configurator.initialize(builder.build());
感谢你的帮助。