<?xml version="1.0" encoding="UTF-8"?> 
 | 
<configuration> 
 | 
    <contextName>logback</contextName> 
 | 
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 --> 
 | 
    <property name="log.path" value="biue/logs" /> 
 | 
<!--    <springProperty scope="context" name="log.path" source="logging.file.path"/>--> 
 | 
  
 | 
    <!-- 彩色日志 --> 
 | 
    <!-- 彩色日志依赖的渲染类 --> 
 | 
    <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" /> 
 | 
    <!-- 彩色日志格式 --> 
 | 
    <property name="CONSOLE_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{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> 
 | 
  
 | 
    <!--输出到控制台--> 
 | 
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
 | 
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> 
 | 
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
 | 
            <level>debug</level> 
 | 
        </filter> 
 | 
        <encoder> 
 | 
            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> 
 | 
            <!-- 设置字符集 --> 
 | 
            <charset>UTF-8</charset> 
 | 
        </encoder> 
 | 
    </appender> 
 | 
  
 | 
    <!-- 时间滚动输出 level为 DEBUG 日志 --> 
 | 
    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
 | 
        <!-- 正在记录的日志文件的路径及文件名 --> 
 | 
        <file>${log.path}/debug/log_debug.log</file> 
 | 
        <!--日志文件输出格式--> 
 | 
        <encoder> 
 | 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{50} - %msg%n</pattern> 
 | 
            <charset>UTF-8</charset> <!-- 设置字符集 --> 
 | 
        </encoder> 
 | 
        <!-- 日志记录器的滚动策略,按日期,按大小记录 --> 
 | 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
 | 
            <!-- 日志归档 --> 
 | 
            <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
 | 
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
 | 
                <maxFileSize>100MB</maxFileSize> 
 | 
            </timeBasedFileNamingAndTriggeringPolicy> 
 | 
            <!--日志文件保留天数--> 
 | 
            <maxHistory>15</maxHistory> 
 | 
        </rollingPolicy> 
 | 
        <!-- 此日志文件只记录debug级别的 --> 
 | 
        <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
 | 
            <level>debug</level> 
 | 
            <onMatch>ACCEPT</onMatch> 
 | 
            <onMismatch>DENY</onMismatch> 
 | 
        </filter> 
 | 
    </appender> 
 | 
  
 | 
    <!-- 时间滚动输出 level为 INFO 日志 --> 
 | 
    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
 | 
        <!-- 正在记录的日志文件的路径及文件名 --> 
 | 
        <file>${log.path}/info/log_info.log</file> 
 | 
        <!--日志文件输出格式--> 
 | 
        <encoder> 
 | 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{50} - %msg%n</pattern> 
 | 
            <charset>UTF-8</charset> 
 | 
        </encoder> 
 | 
        <!-- 日志记录器的滚动策略,按日期,按大小记录 --> 
 | 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
 | 
            <!-- 每天日志归档路径以及格式 --> 
 | 
            <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
 | 
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
 | 
                <maxFileSize>100MB</maxFileSize> 
 | 
            </timeBasedFileNamingAndTriggeringPolicy> 
 | 
            <!--日志文件保留天数--> 
 | 
            <maxHistory>15</maxHistory> 
 | 
        </rollingPolicy> 
 | 
        <!-- 此日志文件只记录info级别的 --> 
 | 
        <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
 | 
            <level>info</level> 
 | 
            <onMatch>ACCEPT</onMatch> 
 | 
            <onMismatch>DENY</onMismatch> 
 | 
        </filter> 
 | 
    </appender> 
 | 
  
 | 
    <!-- 时间滚动输出 level为 WARN 日志 --> 
 | 
    <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
 | 
        <!-- 正在记录的日志文件的路径及文件名 --> 
 | 
        <file>${log.path}/warn/log_warn.log</file> 
 | 
        <!--日志文件输出格式--> 
 | 
        <encoder> 
 | 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{50} - %msg%n</pattern> 
 | 
            <charset>UTF-8</charset> <!-- 此处设置字符集 --> 
 | 
        </encoder> 
 | 
        <!-- 日志记录器的滚动策略,按日期,按大小记录 --> 
 | 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
 | 
            <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
 | 
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
 | 
                <maxFileSize>100MB</maxFileSize> 
 | 
            </timeBasedFileNamingAndTriggeringPolicy> 
 | 
            <!--日志文件保留天数--> 
 | 
            <maxHistory>15</maxHistory> 
 | 
        </rollingPolicy> 
 | 
        <!-- 此日志文件只记录warn级别的 --> 
 | 
        <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
 | 
            <level>warn</level> 
 | 
            <onMatch>ACCEPT</onMatch> 
 | 
            <onMismatch>DENY</onMismatch> 
 | 
        </filter> 
 | 
    </appender> 
 | 
  
 | 
  
 | 
    <!-- 时间滚动输出 level为 ERROR 日志 --> 
 | 
    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
 | 
        <!-- 正在记录的日志文件的路径及文件名 --> 
 | 
        <file>${log.path}/error/log_error.log</file> 
 | 
        <!--日志文件输出格式--> 
 | 
        <encoder> 
 | 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{50} - %msg%n</pattern> 
 | 
            <charset>UTF-8</charset> <!-- 此处设置字符集 --> 
 | 
        </encoder> 
 | 
        <!-- 日志记录器的滚动策略,按日期,按大小记录 --> 
 | 
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
 | 
            <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
 | 
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
 | 
                <maxFileSize>100MB</maxFileSize> 
 | 
            </timeBasedFileNamingAndTriggeringPolicy> 
 | 
            <!--日志文件保留天数--> 
 | 
            <maxHistory>15</maxHistory> 
 | 
        </rollingPolicy> 
 | 
        <!-- 此日志文件只记录ERROR级别的 --> 
 | 
        <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
 | 
            <level>ERROR</level> 
 | 
            <onMatch>ACCEPT</onMatch> 
 | 
            <onMismatch>DENY</onMismatch> 
 | 
        </filter> 
 | 
    </appender> 
 | 
  
 | 
    <!--开发环境:打印控制台--> 
 | 
    <springProfile name="dev"> 
 | 
        <logger name="com.xcong.excoin" level="debug"/> 
 | 
        <!-- mybatis日志打印--> 
 | 
        <logger name="org.apache.ibatis" level="DEBUG" /> 
 | 
        <logger name="java.sql" level="DEBUG" /> 
 | 
    </springProfile> 
 | 
  
 | 
    <root level="info"> 
 | 
        <appender-ref ref="CONSOLE" /> 
 | 
        <appender-ref ref="DEBUG_FILE" /> 
 | 
        <appender-ref ref="INFO_FILE" /> 
 | 
        <appender-ref ref="WARN_FILE" /> 
 | 
        <appender-ref ref="ERROR_FILE" /> 
 | 
    </root> 
 | 
</configuration> 
 |