<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- 属性描述 scan:设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
|
当scan为true时,此属性生效。默认的时间间隔为1分钟。
|
debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
|
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
|
|
<!-- 日志文件路径 -->
|
<property name="log_dir" value="/var/logs/mdc"/>
|
|
<!-- 日志文件保留天数 -->
|
<property name="maxHistory" value="10"/>
|
|
<!-- ConsoleAppender 控制台输出日志 -->
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
<!-- 对日志进行格式化 -->
|
<encoder>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
|
</encoder>
|
</appender>
|
|
<!-- ERROR级别日志 -->
|
<!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender-->
|
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<!-- 过滤器,只记录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>${log_dir}/%d{yyyy-MM-dd}/error-log.log</fileNamePattern>
|
<maxHistory>${maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
|
</encoder>
|
</appender>
|
|
<!-- WARN级别日志 appender -->
|
<appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<!-- 过滤器,只记录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">
|
<!-- 按天回滚 daily -->
|
<fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/warn-log.log
|
</fileNamePattern>
|
<!-- 日志文件保留天数 -->
|
<maxHistory>${maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
|
</encoder>
|
</appender>
|
|
<!-- INFO级别日志 appender -->
|
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<!-- 过滤器,只记录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">
|
<!-- 按天回滚 daily -->
|
<fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/info-log.log
|
</fileNamePattern>
|
<!-- 日志文件保留天数 -->
|
<maxHistory>${maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
|
</encoder>
|
</appender>
|
|
<!-- DEBUG级别日志 appender -->
|
<appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<!-- 过滤器,只记录DEBUG级别的日志 -->
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>DEBUG</level>
|
<onMatch>ACCEPT</onMatch>
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<!-- 按天回滚 daily -->
|
<fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/debug-log.log
|
</fileNamePattern>
|
<!-- 日志文件保留天数 -->
|
<maxHistory>${maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
|
</encoder>
|
</appender>
|
|
<!-- TRACE级别日志 appender -->
|
<appender name="TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<!-- 过滤器,只记录ERROR级别的日志 -->
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>TRACE</level>
|
<onMatch>ACCEPT</onMatch>
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<!-- 按天回滚 daily -->
|
<fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/trace-log.log
|
</fileNamePattern>
|
<!-- 日志文件保留天数 -->
|
<maxHistory>${maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
|
</encoder>
|
</appender>
|
|
<logger name="java.sql.PreparedStatement" value="DEBUG"/>
|
<logger name="java.sql.Connection" value="DEBUG"/>
|
<logger name="java.sql.Statement" value="DEBUG"/>
|
<logger name="com.ibatis" value="DEBUG"/>
|
<logger name="com.ibatis.common.jdbc.SimpleDataSource" value="DEBUG"/>
|
<logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG"/>
|
<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" value="DEBUG"/>
|
|
<!-- root级别 DEBUG -->
|
<root level="info">
|
<!-- 控制台输出 -->
|
<appender-ref ref="STDOUT"/>
|
<!-- 文件输出 -->
|
<appender-ref ref="ERROR"/>
|
<appender-ref ref="INFO"/>
|
|
</root>
|
</configuration>
|