我的
Java应用程序使用Log4j2作为其日志记录实现依赖于使用Log4j的第三方库.
我试图在我的应用程序(使用下面的代码)中以编程方式为这些第三方记录器设置root logger appender和日志级别,但这些第三方库的记录器仍然没有记录到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),它将导致无限的路由.
您能否建议我如何将这些第三方图书馆记录器的记录路由到myAppender?