Logback配置文件

mark一下给自己:
  • 日志输出到文件并根据LEVEL级别将日志分类保存到不同文件

# 配置文件logback-spring.xml

以及各个配置的详细描述,见备注

<springProfile name="dev">
        <!--name属性指定appender命名-->
        <!--class属性指定输出策略,通常有两种,控制台输出和文件输出,文件
        输出就是将日志进行一个持久化。ConsoleAppender将日志输出到控
        制台-->
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <!--ThresholdFilter: 临界值过滤器,过滤掉低于指定临界值的日志。当日志级别等于或高于临界值时,
                过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝-->
                <level>DEBUG</level>
            </filter>
           <!-- <encoder>标签,使用该标签下的<pattern>标签指定日志输出格式-->
            <encoder>
                <pattern>%clr([%p] [%d] [%c.%M] %m%n)</pattern>
                <charset>UTF-8</charset>
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>${LOG_INFO_HOME}//%d.log</fileNamePattern>
                <maxHistory>30</maxHistory>
            </rollingPolicy>
        </appender>
        <!--logback中RollingFileAppender用于滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。-->
        <appender name="LOGOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!--获取比info级别高(包括info级别)但除error级别的日志
            LevelFilter: 级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志-->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>DENY</onMatch>
                <onMismatch>ACCEPT</onMismatch>
            </filter>
            <!-- <encoder>标签,使用该标签下的<pattern>标签指定日志输出格式-->
            <encoder>
                <pattern>%clr([%p] [%d] [%c.%M] %m%n)</pattern>
                <charset>UTF-8</charset>
            </encoder>
            <!--滚动策略 指定收集策略,比如基于时间进行收集TimeBaseRollingPolicy,还有一种就是基于索引来实现FixedWindowRollingPolicy-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--
                通过rollingPolicy设置日志滚动的策略,这是使用按照时间滚动
                fileNamePattern属性设置滚动生成文件的格式,这里设置的精确到天,也就是按照天滚动,如果时间设置精确到秒,就按秒来滚动
                maxHistory属性设定最大的文件数,比如按天滚动,这里设置了30天,在第31天日志生成的时候,第一天的日志就会被删掉
                -->
                <fileNamePattern>${LOG_HOME}//%d{yyyy-MM-dd}.log</fileNamePattern>
                <maxHistory>30</maxHistory>
            </rollingPolicy>

            rollingPolicy对应是索引滚动策略的日志文件定义:

            <!-- 设置为按照索引的方式滚动,定义文件名称的时候使用%i作为占位符,滚动后会会用角标替换
            maxIndex不可设置为过大,过大后会自动被置为默认值12 -->
            <!--<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <fileNamePattern>/logback/log/test-%i.log</fileNamePattern>
                <minIndex>1</minIndex>
                <maxIndex>3</maxIndex>
            </rollingPolicy>--><!--
            -->指定文件最大尺寸,达到该尺寸,就触发rollingPolicy对应的策略,maxFileSize属性指定文件大小
            <!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>1MB</maxFileSize>
            </triggeringPolicy>-->

        </appender>
       <!--用来指定最基础的日志输出级别-->
        <root level="DEBUG">
            <appender-ref ref="STDOUT" />
            <appender-ref ref="LOGOUT" />
        </root>
</springProfile>

如何通过异步输出日志减少磁盘IO提高性能,可以使用logback 高级特性异步输出日志,因为我没有用到,但是可以学习一下

logback 高级特性异步输出日志

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值