logback配置小结

logback配置整理,注释都写在里面了

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <!-- 相当于设置一些变量,在下面可以直接使用-->
    <!--值最好单独在一个属性文件中配置,方便统一管理,例如${log.root.level}-->
    <property name="logging.root" value="E:/logs/"/>
    <property name="default.level" value="info"/>
    <property name="app.name" value="my_redis"/>

    <!--控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n</Pattern>
        </encoder>
    </appender>

    <appender name="sql" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logging.root}/${app.name}/mylog.txt</file>
        <!--在logback 中为了对日志做更精细的控制,appender 标签可以配置多个filter标签。-->
        <!--说明:每个自定义的filter 都需要继承ch.qos.logback.core.filter.Filter类,并实现 decide(ILoggingEvent event)方法。-->
        <!--同样 logback 默认提供了其他的filter-->
        <!--ch.qos.logback.classic.filter.LevelFilter:级别限制,可以指定某个日志文件只输出某一级别的日志。-->
        <!--ch.qos.logback.classic.filter.ThresholdFilter:级别限制,可以限制不输出低于某一级别的日志。-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <!--rollingPolicy标签指定的是日志分包策略,ch.qos.logback.core.rolling.TimeBasedRollingPolicy类实现的-->
        <!--是基于时间的分包策略,分包间隔是根据fileNamePattern中指定的事件最小单位,比如%d{yyyy-MM-dd}-->
        <!--的最小时间单位是天,例子中的%d{yyyy-MM-dd_HH-mm}的最小事件单位为分,它的触发方式就是1分钟,-->
        <!--策略在每次想日志中添加新内容时触发,如果满足条件,-->
        <!--就将mylog.txt复制到E:/logs/目录并更名为mylog-2010-06-22_13-13.1.log,并删除原mylog.txt。-->
        <!--maxHistory的值为指定E:/logs目录下存在的类似mylog-2010-06-22_13-13.1.log文件的最大个数,-->
        <!--当超过时会删除最早的文件。此外,策略还可以互相嵌套,在时间策略中又可以嵌套了文件大小策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${logging.root}/${app.name}/sql.log.%d{yyyy-MM-dd_HH-mm}</FileNamePattern>
            <MaxHistory>10</MaxHistory>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>%date %-5p[%t]: %c{2} - [%m]%X{traceId}%n</pattern>
        </encoder>
    </appender>

    <!-- 为某个包下的所有类的指定Appender, additivity-->
    <!--addtivity: 是否向上级loger传递打印信息。默认是true。-->
    <!--<loger>可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个loger。-->
    <!--当<loger>中包含<appender-ref>时,如果addtivity=true,则会将打印信息传递到root;-->
    <!--如果addtivity=false,则只会在<loger>中<appender-ref>打印信息,不会向上传递-->
    <logger name="com.susq" additivity="false" level="DEBUG">
        <appender-ref ref="sql"/>
        <appender-ref ref="console"/>
    </logger>

    <!--它是根loger,是所有<loger>的上级。只有一个level属性,因为name已经被命名为"root",且已经是最上级了。-->
    <!--level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,-->
    <!--不能设置为INHERITED或者同义词NULL。 默认是DEBUG。-->
    <!--输出日志是从子节点开始,子节点如果有输出源直接输入,如果无,判断配置的addtivity,-->
    <!--是否像上级传递,即是否向root传递,传递则采用root的输出源,否则不输出日志。-->
    <root level="INFO">
        <appender-ref ref="DEFAULT-APPENDER"/>
        <appender-ref ref="ERROR-APPENDER"/>
        <appender-ref ref="console"/>
    </root>
</configuration>

更多请参考:https://www.cnblogs.com/warking/p/5710303.html

https://www.cnblogs.com/reason-cai/p/6763108.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值