logback中additivity的理解

先来一段我们的代码。

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%-15(%d{HH:mm:ss.SSS}) [%t] %-5level %logger{80} [%line] -%msg%n</pattern>
        </layout>
    </appender>

    <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
        <discriminator>
            <key>module</key>
            <defaultValue>module</defaultValue>
        </discriminator>
        <sift>
            <appender name="FILE-${module}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <Encoding>UTF-8</Encoding>
                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                    <FileNamePattern>${log.root}/${module}/${module}.%d{yyyy-MM-dd}.log</FileNamePattern>
                </rollingPolicy>
                <layout class="ch.qos.logback.classic.PatternLayout">
                    <pattern>%-15(%d{HH:mm:ss.SSS}) [%t] %-5level %logger{80} [%line] -%msg%n</pattern>
                </layout>
            </appender>
        </sift>
    </appender>

    <root level="info">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="SIFT"/>
    </root>


    <logger name="com.shangyu" level="debug" additivity="true">
        <appender-ref ref="STDOUT" />
<!--        <appender-ref ref="SIFT" />-->
    </logger>

stdout是打印在控制台。控制台的日志如下:

19:33:04.696    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -==>  Preparing: SELECT id,name,age,address,father_name FROM alin_user WHERE id=? 
19:33:04.696    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -==>  Preparing: SELECT id,name,age,address,father_name FROM alin_user WHERE id=? 
19:33:04.729    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -==> Parameters: 1(Integer)
19:33:04.729    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -==> Parameters: 1(Integer)
19:33:04.759    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -<==      Total: 1
19:33:04.759    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -<==      Total: 1
19:33:04.768    [http-nio-8080-exec-2] INFO  com.shangyu.demo.controller.UserController [35] -info
19:33:04.768    [http-nio-8080-exec-2] INFO  com.shangyu.demo.controller.UserController [35] -info
19:33:04.769    [http-nio-8080-exec-2] ERROR com.shangyu.demo.controller.UserController [36] -error
19:33:04.769    [http-nio-8080-exec-2] ERROR com.shangyu.demo.controller.UserController [36] -error
19:33:04.769    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.controller.UserController [37] -debug
19:33:04.769    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.controller.UserController [37] -debug

SIFT是打印日志到文件,粘一些文件中的日志如下:

19:33:04.696    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -==>  Preparing: SELECT id,name,age,address,father_name FROM alin_user WHERE id=? 
19:33:04.729    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -==> Parameters: 1(Integer)
19:33:04.759    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.mapper.UserMapper.selectById [143] -<==      Total: 1
19:33:04.768    [http-nio-8080-exec-2] INFO  com.shangyu.demo.controller.UserController [35] -info
19:33:04.769    [http-nio-8080-exec-2] ERROR com.shangyu.demo.controller.UserController [36] -error
19:33:04.769    [http-nio-8080-exec-2] DEBUG com.shangyu.demo.controller.UserController [37] -debug

可以看出,当additivity设为true时,这个logger标签会继承root,也就不止打印自己的日志,还会打印root的日志,打印两遍。所以一般情况下都会设置成false。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值