<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 定义参数常量 -->
<!-- TRACE<DEBUG<INFO<WARN<ERROR -->
<!--logger.trace("msg"),logger.debug(""); -->
<property name="log.level" value="debug" />
<!-- 日志要保留多长时间 ,单位是:天,同时只保存30份文件 -->
<property name="log.maxHistory" value="30" />
<!-- 标识日志存储的根路径 -->
<property name="log.filePath" value="${catalina.base}/logs/webapps" />
<!-- 什么日期,什么线程,什么日志级别 %-5:标识缩进5位,%n:换行符 -->
<property name="log.pattern"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />
<!-- 日志输出目的地:控制台 -->
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<!--负责转换,也负责输出 -->
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- debug -->
<appender name="debugAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径 -->
<file>${log.filePath}/debug.log</file>
<!--滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 只记录日志级别为debug的日志,其它日志过滤掉 -->
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- info -->
<appender name="infoAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径 -->
<file>${log.filePath}/info.log</file>
<!--滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 只记录日志级别为info的日志,其它日志过滤掉 -->
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- error -->
<appender name="errorAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径 -->
<file>${log.filePath}/error.log</file>
<!--滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 只记录日志级别为error的日志,其它日志过滤掉 -->
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 记录该level 以上的信息 -->
<logger name="com.ljh.myo2o" level="${log.level}" additivity="true">
<appender-ref ref="debugAppender" />
<appender-ref ref="infoAppender" />
<appender-ref ref="errorAppender" />
</logger>
<root level="info">
<appender-ref ref="consoleAppender" />
</root>
</configuration>