在运行时创建并向log4j2添加自定义appender

时间:2018-03-22 08:42:04

标签: java logging log4j log4j2

我需要一个log4j2的自定义appender,我以编程方式插件(我不想改变log4j2.xml,因为我需要默认使用的appender)。对于自定义appender,似乎有一个答案How to Create a Custom Appender in log4j2?,但是如何在run-ti添加appender,e?

1 个答案:

答案 0 :(得分:0)

基本上你需要实例化appender并在它插入所需的日志之后。在此示例中,我使用的是ConsoleAppenderrootLogger

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();