【发布时间】:2018-03-22 08:42:04
【问题描述】:
我需要一个我以编程方式插入的 log4j2 自定义附加程序(我不想更改 log4j2.xml,因为我需要默认使用该附加程序)。对于自定义 appender,似乎有一个答案How to Create a Custom Appender in log4j2?,但是我如何在 run-ti,e 中添加 appender?
【问题讨论】:
我需要一个我以编程方式插入的 log4j2 自定义附加程序(我不想更改 log4j2.xml,因为我需要默认使用该附加程序)。对于自定义 appender,似乎有一个答案How to Create a Custom Appender in log4j2?,但是我如何在 run-ti,e 中添加 appender?
【问题讨论】:
基本上,您需要实例化附加程序,然后将其插入所需的日志。在这个例子中,我使用ConsoleAppender 和rootLogger
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
Configuration config = ctx.getConfiguration();
ConsoleAppender consoleAppender = ConsoleAppender.
createDefaultAppenderForLayout(PatternLayout.createDefaultLayout());
consoleAppender.start(); // this is optional
config.addAppender(consoleAppender); // this is optional
ctx.getRootLogger().addAppender(consoleAppender);
ctx.updateLoggers();
【讨论】: