logback.xml日志文件配置说明

<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!-- 说明:
     1、日志级别及文件
          日志记录采用分级记录,级别与日志文件名相对应,不同级别的日志信息记录到不同的日志文件中
          例如:error级别记录到xxx_error.log(当前日志文件)或xxx_error-xxx.log(归档日志文件)
          日志文件按日期记录,同一天内,若日志文件大小等于或大于1M,则按0、1、2....顺序分别命名
          例如xxx-level-2019-05-08.0.log
          其它级别的日志也是如此。
     2、文件路径
          绝对路径:/springboottest/logs
     3、Appender
          Console将日志信息输出到控制上,为方便开发测试使用
          FileInfo对应info级别,文件名以xxx_info.log形式命名
          FileWarn对应warn级别,文件名以xxx_warn.log形式命名
          FileError对应error级别,文件名以xxx_error.log形式命名
-->
<configuration>
    <!-- 全局参数 -->
    <property name="CHARSET_UTF8" value="UTF-8"/>
    <property name="LOG_PATH" value="/springboottest/logs"/>
    <property name="LOG_NAME" value="springboottest"/>
    <property name="FILE_NAME" value="${LOG_PATH}/${LOG_NAME}"/>
    <property name="FILE_NAME_INFO" value="${LOG_PATH}/%d{yyyy-MM-dd}/${LOG_NAME}_info"/>
    <property name="FILE_NAME_WARN" value="${LOG_PATH}/warn/${LOG_NAME}_warn"/>
    <property name="FILE_NAME_ERROR" value="${LOG_PATH}/error/${LOG_NAME}_error"/>
    <property name="LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss.SSS} [%level] --- [%thread] %logger.%method:%L | %msg%n"/>
    <!-- 彩色日志格式 -->
    <property name="COLORS_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger){cyan}[%L] %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>

    <!-- 输出到控制台 -->
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 此日志appender是为开发使用,只配置最低级别,控制台输出的日志级别是大于或等于此级别的日志信息 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <encoder>
            <pattern>${COLORS_LOG_PATTERN}</pattern>
            <!-- 设置字符集 -->
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
    </appender>

    <!-- 时间滚动输出INFO级别的日志 -->
    <appender name="FileInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <file>${FILE_NAME}_info.log</file>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <!-- 日志文件输出格式 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
        <!-- 此日志文件只记录info级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天日志归档路径以及格式 -->
            <fileNamePattern>${FILE_NAME_INFO}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 时间滚动输出WARN级别的日志 -->
    <appender name="FileWarn" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <file>${FILE_NAME}_warn.log</file>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <!-- 日志文件输出格式 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
        <!-- 此日志文件只记录warn级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>warn</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天日志归档路径以及格式 -->
            <fileNamePattern>${FILE_NAME_WARN}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 时间滚动输出ERROR级别的日志 -->
    <appender name="FileError" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <file>${FILE_NAME}_error.log</file>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <!-- 日志文件输出格式 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
        <!-- 此日志文件只记录error级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天日志归档路径以及格式 -->
            <fileNamePattern>${FILE_NAME_ERROR}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>

            <!-- 日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 过滤掉Spring的一些无用的Debug信息 -->

    <logger name="org.springframework" level="info" additivity="false">
        <appender-ref ref="Console"/>
    </logger>
    <root level="info">
        <appender-ref ref="Console"/>
        <appender-ref ref="FileInfo"/>
        <appender-ref ref="FileWarn"/>
        <appender-ref ref="FileError"/>
    </root>
</configuration>
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值