<?xml version="1.0" encoding="utf-8"?><configuration> <!--1. value=“logs” – 表示保存到程序运行目录 2. value=“/logs” – 表示保存到系统目录 3. value=“../logs” – 表示保存到程序运行目录的父目录--> <property name="LOG_HOME" value="logs" /> <property name="PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} | [%thread] %-5level %logger{80} : %msg%n" /> <!-- 彩色日志 --> <!-- 彩色日志依赖的渲染类 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> <!-- 彩色日志格式 --> <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} | %clr([%thread]){magenta} %clr(%-5level){yellow} %clr(%logger{80}){cyan} %clr(:){faint} %msg%n"/> <!--输出到控制台--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <!-- encoder默认配置为PartternLayoutEncoder --> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${PATTERN}</pattern> <!-- 设置字符集 --> <charset>UTF-8</charset> </encoder> </appender> <!--输出到文件--> <!--DEBUG--> <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <FileNamePattern>${LOG_HOME}/debug/order-logistics_debug_%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>365</maxHistory> </rollingPolicy> <!-- 此日志文件只记录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"> <encoder> <pattern>${PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <FileNamePattern>${LOG_HOME}/info/order-logistics_info_%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>365</maxHistory> </rollingPolicy> <!-- 此日志文件只记录INFO级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!--WARN--> <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <FileNamePattern>${LOG_HOME}/warn/order-logistics_warn_%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>365</maxHistory> </rollingPolicy> <!-- 此日志文件只记录WARN级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!--ERROR--> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <FileNamePattern>${LOG_HOME}/error/order-logistics_error_%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>365</maxHistory> </rollingPolicy> <!-- 此日志文件只记录ERROR级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!--ERROR--> <appender name="SQL" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>${PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <FileNamePattern>${LOG_HOME}/sql/order-logistics_sql_%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>50MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>365</maxHistory> </rollingPolicy> <!-- 此日志文件只记录ERROR级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!--输出到控制台--> <appender name="SQL_CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> <!-- encoder默认配置为PartternLayoutEncoder --> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${PATTERN}</pattern> <!-- 设置字符集 --> <charset>UTF-8</charset> </encoder> </appender> <!--开发环境:打印控制台--> <springProfile name="dev,test"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <!-- 设置字符集 --> <charset>UTF-8</charset> </encoder> </appender> <!--选择性打印日志按规则自己制作--> <!--<logger name="com.gbm.kingkong.order.controller"(无法使用通配符) level="INFO" additivity="false"/>--> <!--mybatis sql日志 日志的级别需要是DEBUG--> <!--日志打印的包的范围,及分类日志文件存储 --> <logger name="io.renren.modules.sys.dao" level="DEBUG" additivity="false"> <appender-ref ref="SQL_CONSOLE" /> <appender-ref ref="SQL" /> </logger> <root level="DEBUG"> <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> </springProfile> <springProfile name="prod"> <!--<logger name="com.gbm.kingkong.order.controller"(无法使用通配符) level="ERROR" additivity="false"/>--> <!--mybatis sql日志 日志的级别需要是DEBUG--> <!--日志打印的包的范围,及分类日志文件存储 --> <logger name="io.renren.modules.sys.dao" level="DEBUG" additivity="false"> <appender-ref ref="SQL" /> </logger> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="INFO_FILE" /> <appender-ref ref="WARN_FILE" /> <appender-ref ref="ERROR_FILE" /> </root> </springProfile></configuration>