| <?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> |