springboot项目快速集成日志文件。利用resources\logback-spring.xml文件配置log日志的打印包括info,debug和error分开动态保留最近日志

本文介绍了如何在SpringBoot项目中快速集成Logback,通过配置logback-spring.xml文件,实现日志按info、debug和error级别分别记录,并动态保留最近的日志文件。详细配置文件内容及日志生成效果展示。

比较完整配置文件如下:

当新建一个基于springboot的单项目时只需要把如下配置复制到项目根目录下\src\main\resources\logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration scan="true" scanPeriod="60 seconds" debug="false">

    <contextName>sms</contextName>
    <!--设置系统日志目录-->
    <property name="log.path" value="log" />
    <!--最多保留15天log-->
    <property name="log.maxHistory" value="15" />
    <property name="log.pattern" value="%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n" />

    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
    </appender>

    <!--输出到文件-->
    <!-- 日志记录器,日期滚动记录 -->
    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 正在记录的日志文件的路径及文件名 -->
            <fileNamePattern>${log.path}/info/info.%d{yyyy-MM-dd}.log</fileNamePattern>
            <MaxHistory>${log.maxHistory}</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <!-- 此日志文件只记录info级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/error/error.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <appender name="file_debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/debug/debug.%d{yyyy-MM-dd}.log</fileNamePattern>
            <MaxHistory>${log.maxHistory}</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <root level="debug">
        <!--debug级别输出到文件和控制台-->
        <appender-ref ref="console" />
        <appender-ref ref="file_debug" />
    </root>

    <root level="info">
        <!--info和error级别输出到文件-->
        <appender-ref ref="file_info" />
        <appender-ref ref="file_error" />
    </root>
</configuration>

最近日志生成效果如下

[root@iz2zeghotn46xyvrg5qcmoz qiweb]# tree log
log
├── debug
│   └── debug.2018-10-25.log
├── error
│   ├── error.2018-10-10.log
│   ├── error.2018-10-11.log
│   ├── error.2018-10-12.log
│   ├── error.2018-10-13.log
│   ├── error.2018-10-15.log
│   ├── error.2018-10-16.log
│   ├── error.2018-10-18.log
│   ├── error.2018-10-19.log
│   ├── error.2018-10-20.log
│   ├── error.2018-10-21.log
│   ├── error.2018-10-22.log
│   ├── error.2018-10-23.log
│   ├── error.2018-10-24.log
│   └── error.2018-10-25.log
└── info
    ├── info.2018-10-10.log
    ├── info.2018-10-11.log
    ├── info.2018-10-12.log
    ├── info.2018-10-13.log
    ├── info.2018-10-14.log
    ├── info.2018-10-15.log
    ├── info.2018-10-16.log
    ├── info.2018-10-17.log
    ├── info.2018-10-18.log
    ├── info.2018-10-19.log
    ├── info.2018-10-20.log
    ├── info.2018-10-21.log
    ├── info.2018-10-22.log
    ├── info.2018-10-23.log
    ├── info.2018-10-24.log
    └── info.2018-10-25.log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值