Log4j 1.x到Log4j 2.1.1的迁移问题
我正在尝试将代码迁移到版本2。但是,在log4j 2.1.1中找到GetCurrentLogger的替代品时,我遇到了一些问题 导入org.apache.logging.log4j.LogManager.getCurrentLoggers();不存在Log4j 1.x到Log4j 2.1.1的迁移问题,log4j,log4j2,Log4j,Log4j2,我正在尝试将代码迁移到版本2。但是,在log4j 2.1.1中找到GetCurrentLogger的替代品时,我遇到了一些问题 导入org.apache.logging.log4j.LogManager.getCurrentLoggers();不存在 private ArrayList<LoggerName> getLoggerList() { // Generate a list of all the loggers and levels ArrayLis
private ArrayList<LoggerName> getLoggerList() {
// Generate a list of all the loggers and levels
ArrayList<String> al = new ArrayList<String>();
HashMap<Object, Object> hm = new HashMap<Object, Object>();
ArrayList<LoggerName> list = new ArrayList<LoggerName>();
// Get RootLogger
Logger rootLogger = LogManager.getRootLogger();
String rootLoggerName = rootLogger.getName();
al.add(rootLoggerName);
hm.put(rootLoggerName, rootLogger);
// All Other Loggers ISSUE HERE
Enumeration e = LogManager.getCurrentLoggers();
while (e.hasMoreElements()) {
Logger t1Logger = (Logger) e.nextElement();
String loggerName = t1Logger.getName();
al.add(loggerName);
hm.put(loggerName, t1Logger);
}
String[] alLoggerStr = ((String[]) al.toArray(new String[0]));
Arrays.sort(alLoggerStr);
for (int i=0; i < alLoggerStr.length; i++) {
Logger logger = (Logger) hm.get(alLoggerStr[i]);
String name = logger.getName();
String level = logger.getLevel().toString();
String parent = GenFuncs.EMPTY_STRING;
if (logger.getParent() != null) {
parent = (logger.getParent().getName();
}
LoggerName logData = new LoggerNameImpl(name, parent, level);
list.add(logData);
}
return list;
}
private ArrayList getLoggerList(){
//生成所有记录器和级别的列表
ArrayList al=新的ArrayList();
HashMap hm=新的HashMap();
ArrayList=新建ArrayList();
//获取根记录器
Logger rootLogger=LogManager.getRootLogger();
字符串rootLoggerName=rootLogger.getName();
al.添加(rootLoggerName);
hm.put(rootLoggerName,rootLogger);
//所有其他伐木工人都在这里
枚举e=LogManager.getCurrentLoggers();
而(e.hasMoreElements()){
记录器t1Logger=(记录器)e.nextElement();
字符串loggerName=t1Logger.getName();
al.添加(loggerName);
hm.put(loggerName,t1Logger);
}
字符串[]AllogerStr=((字符串[])al.toArray(新字符串[0]);
Arrays.sort(allogerstr);
对于(int i=0;i
从中找到答案
File configFile=new文件(“c:\\my\u path\\log4j2.xml”);
LoggerContext LoggerContext=Configurator.initialize(“my_config”,null,configFile.toURI());
Configuration=loggerContext.getConfiguration();
Collection loggerConfigs=configuration.getLoggers().values();
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();