Java 将log4j记录器列表放入StringBuilder并格式化
我正在尝试将所有Java 将log4j记录器列表放入StringBuilder并格式化,java,log4j,stringbuilder,Java,Log4j,Stringbuilder,我正在尝试将所有log4j记录器添加到需要放入StringBuilder的列表中。我的方法如下所示: private void addLoggerInfo(StringBuilder sb) { LoggerContext ctx = (LoggerContext) LogManager.getContext(false); Map<String, LoggerConfig> loggers = ctx.getConfiguration().getLogge
log4j
记录器添加到需要放入StringBuilder
的列表中。我的方法如下所示:
private void addLoggerInfo(StringBuilder sb) {
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
Map<String, LoggerConfig> loggers = ctx.getConfiguration().getLoggers();
for (Iterator<String> iterator = loggers.keySet().iterator(); iterator.hasNext();) {
String key = iterator.next();
LoggerConfig cfg = loggers.get(key);
String message = String.format("Logger for key %s : name: %s level: %s" , key,cfg.getName(), cfg.getLevel());
LOG.info(message);
}
//Need to put the list into StringBuilder
}
private void addLoggerInfo(StringBuilder sb){
LoggerContext ctx=(LoggerContext)LogManager.getContext(false);
映射记录器=ctx.getConfiguration().getLoggers();
for(Iterator Iterator=loggers.keySet().Iterator();Iterator.hasNext();){
String key=iterator.next();
LoggerConfig cfg=loggers.get(key);
String message=String.format(“键%s的记录器:名称:%s级别:%s”,键,cfg.getName(),cfg.getLevel());
日志信息(消息);
}
//需要将列表放入StringBuilder
}
问题是上面的代码如何向它引入StringBuilder
,并以特定的格式格式化日志语句
([[name=XXX | level=YYY],[name=XXX | level=YYY]])
局限性:使用庞大的代码库,对代码的了解率仅为.0001%。做一些小的事情,我试图理解代码库。任务是记录日志并以良好的格式打印。而不是log.info(消息)
dosb.append(“[”).append(message.append(“])代码>
然后在addLoggerInfo(sb)
的调用者中记录sb.toString()
它实际上是log4j还是log4j2?@Fildor它是log4j