什么是在log4j2中获得CurrentLoggers的模拟

2022-09-04 20:55:19

如何获取 log4j2 中使用的所有记录器?在log4j中,我可以使用getCurrentLoggers,如下所述:使用的记录器数量


答案 1

获取 log4j2 中使用的所有记录器:

LoggerContext logContext = (LoggerContext) LogManager
                .getContext(false);
Map<String, LoggerConfig> map = logContext.getConfiguration()
                .getLoggers();

注意力:

use org.apache.logging.log4j.core.LoggerContext

not org.apache.logging.log4j.spi.LoggerContext


答案 2

看起来我已经找到了方法:

File configFile = new File("c:\\my_path\\log4j2.xml");
LoggerContext loggerContext = Configurator.initialize("my_config", null, configFile.toURI());
Configuration configuration = loggerContext.getConfiguration();
Collection<LoggerConfig> loggerConfigs = configuration.getLoggers().values();

推荐