Java 如何在logback中获取所有appender名称
如何在使用logback时获取Java列表中设置的所有appender名称的列表 以下代码将收集当前Java 如何在logback中获取所有appender名称,java,logging,logback,logback-classic,Java,Logging,Logback,Logback Classic,如何在使用logback时获取Java列表中设置的所有appender名称的列表 以下代码将收集当前日志上下文中的所有附加程序: private Map<String, Appender<ILoggingEvent>> getAppendersMap() { LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); Map<String, Ap
日志上下文中的所有附加程序
:
private Map<String, Appender<ILoggingEvent>> getAppendersMap() {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
Map<String, Appender<ILoggingEvent>> appendersMap = new HashMap<>();
for (Logger logger : loggerContext.getLoggerList()) {
Iterator<Appender<ILoggingEvent>> appenderIterator = logger.iteratorForAppenders();
while (appenderIterator.hasNext()) {
Appender<ILoggingEvent> appender = appenderIterator.next();
if (!appendersMap.containsKey(appender.getName())) {
appendersMap.put(appender.getName(), appender);
}
}
}
return appendersMap;
}
私有映射getAppenderMap(){
LoggerContext LoggerContext=(LoggerContext)LoggerFactory.getILoggerFactory();
Map appendersMap=newhashmap();
对于(记录器:loggerContext.getLoggerList()){
迭代器appenderierator=logger.iteratorForAppenders();
while(appenderierator.hasNext()){
Appender Appender=appenderierator.next();
如果(!appenderMap.containsKey(appender.getName())){
appenderMap.put(appender.getName(),appender);
}
}
}
返回AppenderMap;
}
然后,您可以按如下方式列出名称:
Map<String, Appender<ILoggingEvent>> appendersMap = getAppendersMap();
for (String key : appendersMap.keySet()) {
logger.info("appender name = {}", key);
}
Map appendersMap=getAppendersMap();
for(字符串键:appendersMap.keySet()){
info(“appender name={}”,key);
}
以下代码将收集当前日志上下文中的所有附加程序
:
private Map<String, Appender<ILoggingEvent>> getAppendersMap() {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
Map<String, Appender<ILoggingEvent>> appendersMap = new HashMap<>();
for (Logger logger : loggerContext.getLoggerList()) {
Iterator<Appender<ILoggingEvent>> appenderIterator = logger.iteratorForAppenders();
while (appenderIterator.hasNext()) {
Appender<ILoggingEvent> appender = appenderIterator.next();
if (!appendersMap.containsKey(appender.getName())) {
appendersMap.put(appender.getName(), appender);
}
}
}
return appendersMap;
}
私有映射getAppenderMap(){
LoggerContext LoggerContext=(LoggerContext)LoggerFactory.getILoggerFactory();
Map appendersMap=newhashmap();
对于(记录器:loggerContext.getLoggerList()){
迭代器appenderierator=logger.iteratorForAppenders();
while(appenderierator.hasNext()){
Appender Appender=appenderierator.next();
如果(!appenderMap.containsKey(appender.getName())){
appenderMap.put(appender.getName(),appender);
}
}
}
返回AppenderMap;
}
然后,您可以按如下方式列出名称:
Map<String, Appender<ILoggingEvent>> appendersMap = getAppendersMap();
for (String key : appendersMap.keySet()) {
logger.info("appender name = {}", key);
}
Map appendersMap=getAppendersMap();
for(字符串键:appendersMap.keySet()){
info(“appender name={}”,key);
}
谢谢@glytching
我找到了一个简短的答案:
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext();) {
Appender<ILoggingEvent> appender = index.next();
}
}
LoggerContext context=(LoggerContext)LoggerFactory.getILoggerFactory();
对于(ch.qos.logback.classic.Logger记录器:context.getLoggerList()){
for(Iterator index=logger.iteratorforappendes();index.hasNext();){
Appender Appender=index.next();
}
}
谢谢@glytching
我找到了一个简短的答案:
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext();) {
Appender<ILoggingEvent> appender = index.next();
}
}
LoggerContext context=(LoggerContext)LoggerFactory.getILoggerFactory();
对于(ch.qos.logback.classic.Logger记录器:context.getLoggerList()){
for(Iterator index=logger.iteratorforappendes();index.hasNext();){
Appender Appender=index.next();
}
}