【发布时间】:2014-08-20 18:13:25
【问题描述】:
我一直在尝试以编程方式配置 appender,但到目前为止还没有成功。 我只想配置没有文件的附加程序,以便它可以将日志发送到控制台或文件。
String PATTERN = "%d [%p|%c|%C{1}] %m%n";
PatternLayout layout = PatternLayout.createLayout(PATTERN, null, null,
null, null, null);
ConsoleAppender console = ConsoleAppender.createAppender(layout, null,
null, "console", "true", "true"); // create appender
AppenderRef appender = AppenderRef.createAppenderRef("console",
"DEBUG", null);
logger = (Logger) LogManager.getLogger(InitLogger.class);
LoggerContext context = logger.getContext();
BaseConfiguration configuration =(BaseConfiguration) context.getConfiguration();
configuration.addAppender(console);
logger.addAppender(configuration.getAppender("console"));
【问题讨论】:
-
您需要重置并将附加程序添加到 rootLogger。见this post
-
这篇文章谈论的是 log4j1,所以这没有帮助。
-
这在 log4j2 [link][1] [1] 的 ConfigurationFactory 的帮助下成为可能:stackoverflow.com/questions/20886717/…