<?xml version="1.0" encoding="UTF-8"?>
|
<configuration>
|
<!-- 配置一天一个日志文件,INFO信息存在一个文件中,ERROR信息存在一个文件中 -->
|
<!-- 日志级别从低到高 TRACE < DEBUG < INFO < WARN < ERROR -->
|
|
<!-- 文件输出格式 -->
|
<property name="PATTERN" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%thread] [%logger{36}] - %msg%n" />
|
<property name="CT_PATTERN" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger{36}] - %msg%n" />
|
<!-- 日志文件目录 -->
|
<property name="LOG_HOME" value="logs/utils/service" />
|
<property name="CT_LOG_HOME" value="logs/utils/business" />
|
<!-- 日志文件名称 -->
|
<property name="LOG_NAME" value="utils" />
|
|
<!-- 开发环境日志配置 -->
|
<springProfile name="dev">
|
<!-- 配置控制台打印信息 -->
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<encoder charset="UTF-8">
|
<!-- 文件输出格式 -->
|
<pattern>${PATTERN}</pattern>
|
</encoder>
|
</appender>
|
|
<!-- 设置根日志级别,如果日志级别低于设置的级别,则该日志不会被记录。如果日志级别高于设置的级别,那么这条日志将会被记录 -->
|
<root level="INFO">
|
<appender-ref ref="CONSOLE" />
|
</root>
|
|
<logger name="cn.huge" level="DEBUG" additivity="true"/>
|
<logger name="org.hibernate.SQL" level="DEBUG" additivity="true"/>
|
<!-- 为 MyBatis 设置 DEBUG 级别的日志 -->
|
<logger name="com.baomidou.mybatisplus" level="INFO" additivity="false">
|
<appender-ref ref="CONSOLE" />
|
</logger>
|
</springProfile>
|
|
<!-- 测试环境+生产环境,多个使用逗号隔开 -->
|
<springProfile name="test,prod">
|
<!-- 配置DEBUG文件 -->
|
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<!-- 日志文件名称 -->
|
<fileNamePattern>${LOG_HOME}/${LOG_NAME}.debug.%d{yyyyMMdd}.%i.log</fileNamePattern>
|
<!-- 日志保留31天 -->
|
<maxHistory>31</maxHistory>
|
<!-- 所有日志大小不超过30GB -->
|
<totalSizeCap>30GB</totalSizeCap>
|
<!-- 单个日志文件大小不超过10MB -->
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
<maxFileSize>10MB</maxFileSize>
|
</timeBasedFileNamingAndTriggeringPolicy>
|
</rollingPolicy>
|
|
<encoder charset="UTF-8">
|
<!-- 文件输出格式 -->
|
<pattern>${PATTERN}</pattern>
|
</encoder>
|
|
<!-- 只打印 DEBUG 日志 -->
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>DEBUG</level>
|
<!-- 命中就接受 -->
|
<onMatch>ACCEPT</onMatch>
|
<!-- 没有命中就过滤掉 -->
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
</appender>
|
|
<!-- 配置INFO文件 -->
|
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<!-- 日志文件名称 -->
|
<fileNamePattern>${LOG_HOME}/${LOG_NAME}.info.%d{yyyyMMdd}.%i.log</fileNamePattern>
|
<!-- 日志保留31天 -->
|
<maxHistory>31</maxHistory>
|
<!-- 所有日志大小不超过30GB -->
|
<totalSizeCap>30GB</totalSizeCap>
|
<!-- 单个日志文件大小不超过10MB -->
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
<maxFileSize>10MB</maxFileSize>
|
</timeBasedFileNamingAndTriggeringPolicy>
|
</rollingPolicy>
|
|
<encoder charset="UTF-8">
|
<!-- 文件输出格式 -->
|
<pattern>${PATTERN}</pattern>
|
</encoder>
|
|
<!-- 只打印 INFO 日志 -->
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>INFO</level>
|
<!-- 命中就过滤掉 -->
|
<onMatch>ACCEPT</onMatch>
|
<!-- 没有命中就接受 -->
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
</appender>
|
|
<!-- 配置ERROR文件 -->
|
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
!-- 日志文件名称 -->
|
<fileNamePattern>${LOG_HOME}/${LOG_NAME}.error.%d{yyyyMMdd}.%i.log</fileNamePattern>
|
<!-- 日志保留31天 -->
|
<maxHistory>31</maxHistory>
|
<!-- 所有日志大小不超过30GB -->
|
<totalSizeCap>30GB</totalSizeCap>
|
<!-- 单个日志文件大小不超过10MB -->
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
<maxFileSize>10MB</maxFileSize>
|
</timeBasedFileNamingAndTriggeringPolicy>
|
</rollingPolicy>
|
|
<encoder charset="UTF-8">
|
<!-- 文件输出格式 -->
|
<pattern>${PATTERN}</pattern>
|
</encoder>
|
|
<!-- 只打印 ERROR 日志 -->
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>ERROR</level>
|
<!-- 命中就过滤掉 -->
|
<onMatch>ACCEPT</onMatch>
|
<!-- 没有命中就接受 -->
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
</appender>
|
|
<!-- 为 MyBatis 设置 DEBUG 级别的日志 -->
|
<logger name="org.apache.ibatis" level="DEBUG"/>
|
<!-- 输出 SQL 语句和参数 -->
|
<logger name="org.apache.ibatis.binding" level="DEBUG"/>
|
<!-- 输出 SQL 语句执行情况 -->
|
<logger name="org.apache.ibatis.session" level="DEBUG"/>
|
<!-- 输出 SQL 语句执行结果 -->
|
<logger name="org.apache.ibatis.executor" level="DEBUG"/>
|
<!-- 输出 SQL 语句 -->
|
<logger name="org.apache.ibatis.scripting" level="DEBUG"/>
|
|
<!-- 设置根日志级别,如果日志级别低于设置的级别,则该日志不会被记录。如果日志级别高于设置的级别,那么这条日志将会被记录 -->
|
<root level="DEBUG">
|
<appender-ref ref="DEBUG_FILE" />
|
<appender-ref ref="INFO_FILE" />
|
<appender-ref ref="ERROR_FILE" />
|
</root>
|
|
</springProfile>
|
</configuration>
|