【发布时间】:2015-12-26 14:11:15
【问题描述】:
我使用 Log4j2 作为其日志记录实现的 Java 应用程序依赖于使用 Log4j 的第 3 方库。
我正在尝试在我的应用程序中以编程方式(使用下面的代码)为这些第 3 方记录器设置根记录器附加程序和日志级别,但这些第 3 方库的记录器仍然没有记录到 myAppender:
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
LoggerConfig loggerConfig = ctx.getConfiguration().getLoggerConfig(
LogManager.ROOT_LOGGER_NAME);
loggerConfig.addAppender(myAppender, Level.ERROR, null);
ctx.updateLoggers();
我想到的一个解决方案是使用 Log4jToSLF4JAdaptor 将 log4j 的日志记录路由到 SLF4J,然后使用 Log4JSLF4JImpl 将 SLF4J 的日志记录路由到我的 Log4J2 实现,但正如此处所述 (https://logging.apache.org/log4j/2.0/log4j-slf4j-impl/index.html),它会导致无休止的路由。
您能否建议我如何将这些 3rd 方库的记录器的日志记录路由到 myAppender?
【问题讨论】: