<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<properties>
<!-- ${sys:catalina.home}为tomcat的路径,这里的crm只是我项目的名字 -->
<property name="LOG_HOME">d:/logs/shop</property>
<property name="FILE_NAME">shop</property>
</properties>
<Appenders>
<!-- 控制台日志 -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%-5level %logger{36} - %msg%n" />
</Console>
<!-- error 日志 -->
<RollingFile name="error-log" fileName="${LOG_HOME}/${FILE_NAME}_error.log"
filePattern="${LOG_HOME}/error/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
immediateFlush="true">
<Filters>
<ThresholdFilter level="error" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
<PatternLayout
pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<!-- 当文件大小超过10MB -->
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<!-- 如果压缩包超过了90天,应该要自动删除 -->
<DefaultRolloverStrategy max="90" />
</RollingFile>
<!-- warn 日志 -->
<RollingFile name="warn-log" fileName="${LOG_HOME}/${FILE_NAME}_warn.log"
filePattern="${LOG_HOME}/warn/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
immediateFlush="true">
<Filters>
<ThresholdFilter level="error" onMatch="DENY"
onMismatch="NEUTRAL" />
<ThresholdFilter level="warn" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
<PatternLayout
pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="90" />
</RollingFile>
<!-- info 日志 -->
<RollingFile name="info-log" fileName="${LOG_HOME}/${FILE_NAME}_info.log"
filePattern="${LOG_HOME}/info/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
immediateFlush="true">
<Filters>
<ThresholdFilter level="error" onMatch="DENY"
onMismatch="NEUTRAL" />
<ThresholdFilter level="warn" onMatch="DENY"
onMismatch="NEUTRAL" />
<ThresholdFilter level="info" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
<PatternLayout
pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="90" />
</RollingFile>
<!-- debug 日志 -->
<RollingFile name="debug-log" fileName="${LOG_HOME}/${FILE_NAME}_debug.log"
filePattern="${LOG_HOME}/debug/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
immediateFlush="true">
<Filters>
<ThresholdFilter level="error" onMatch="DENY"
onMismatch="NEUTRAL" />
<ThresholdFilter level="warn" onMatch="DENY"
onMismatch="NEUTRAL" />
<ThresholdFilter level="info" onMatch="DENY"
onMismatch="NEUTRAL" />
<ThresholdFilter level="debug" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
<PatternLayout
pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="90" />
</RollingFile>
</Appenders>
<Loggers>
<!-- 正式环境↓ 改为 info 级别 -->
<Root level="debug">
<!-- 这里是输入到文件 -->
<appender-ref ref="error-log" />
<appender-ref ref="warn-log" />
<appender-ref ref="info-log" />
<!-- 正式环境 下面 ↓ 两项删除 -->
<appender-ref ref="debug-log" />
<appender-ref ref="Console" />
</Root>
<!-- 自定义日志监听 -->
<logger name="com.wisezone" level="TRACE" additivity="false">
<appender-ref ref="Console" />
</logger>
</Loggers>
</Configuration>