slf4j+log4j

来源:互联网 发布:java rest请求xml 编辑:程序博客网 时间:2024/05/16 17:58
感觉就是slf4j提供了 {} 这种通配的日志描述形式,以及代码组织形式

log4j提供了底层的配置、存储

在配置文件上,可以配置默认输出的日志级别,一般都是输出info日志,但是有的情况,基于调试的需求,想要把debug的日志也输出,这时候就要动态调整日志输出级别。
这时候可以通过如下方法调整:

public static void setLevel(Level level) {
       if (null == level) {
          return;
       }

       try {
           ClassloggerIntrospected = logger.getClass();
           Fieldfields[] = loggerIntrospected.getDeclaredFields();
           for (int i= 0; i < fields.length; i++) {
              String fieldName =fields[i].getName();
              if(fieldName.equals("logger")) {
                 fields[i].setAccessible(true);
                 org.apache.log4j.Logger loggerImpl =(org.apache.log4j.Logger) fields[i].get(logger);

                 loggerImpl.setLevel(level);
              }
           }
       } catch (Exception e) {
          
       }
    }
public static Level getLevel() {
       Level level = null;
       try {
           ClassloggerIntrospected = logger.getClass();
           Fieldfields[] = loggerIntrospected.getDeclaredFields();
           for (int i= 0; i < fields.length; i++) {
              String fieldName =fields[i].getName();
              if(fieldName.equals("logger")) {
                 fields[i].setAccessible(true);
                 org.apache.log4j.Logger loggerImpl =(org.apache.log4j.Logger) fields[i].get(logger);

                 level = loggerImpl.getLevel();
              }
           }
       } catch (Exception e) {
          
       }

       return level;
    }
0 0
原创粉丝点击