码迷,mamicode.com
首页 > 其他好文 > 详细

多级别过滤器

时间:2016-08-06 08:33:10      阅读:513      评论:0      收藏:0      [点我收藏+]

标签:

 

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder 
            by default -->
        <encoder>
            <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
            </pattern>
        </encoder>
    </appender>


    <logger name="cn.zno" level="WARN" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

 

1. <logger name="cn.zno" level="WARN" />

作用是配置Logger类,在调用.trace .debug 等信息时进行拦截

class TestLogback {
    private final Logger logger = LoggerFactory.getLogger(getClass());

    public void printLog() {
        logger.trace("It is trace");
        logger.debug("It is debug");
        logger.info("It is info");
        logger.warn("It is warn");
        logger.error("It is error");
    }

}

 

依据以下代码 位于ch.qos.logback.classic.Logger.class :

if (effectiveLevelInt > level.levelInt) {
        return;
      }

effectiveLevelInt 可能的值是 5000 、10000 、20000 、30000 、40000 

分别对应5个级别:               trace 、debug 、info 、warn 、error 

<logger name="cn.zno" level="WARN" /> 比如 WARN 值为30000 ,大于info debug trace ,则只会输出 warn error

2.  <root level="" />

只能有一个root ,可被多个 appender 继承,可以影响effectiveLevelInt 的值,以<logger 为主

如果把<root 视为 父类,那么 <logger 就是子类

如果子类没有指定该值,则以父类为准

如果子类指定了该值,则以子类为准

 

多级别过滤器

标签:

原文地址:http://www.cnblogs.com/zno2/p/4800141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!