<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="300">
<!--自定义属性,作为定义文件名或文本格式的参数-->
<properties>
<property name="LOG_HOME">logs</property>
<property name="A_FILE_NAME">all</property>
<property name="D_FILE_NAME">debug</property>
<property name="E_FILE_NAME">error</property>
<property name="W_FILE_NAME">warn</property>
<property name="I_FILE_NAME">info</property>
</properties>
<Appenders>
<!--控制台输出设置-->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
</Console>
<!--不同等级的文件输出设置-->
<RollingRandomAccessFile name="AllFile"
fileName="${sys:catalina.home}/${LOG_HOME}/${A_FILE_NAME}.log"
filePattern="${sys:catalina.home}/${LOG_HOME}/${A_FILE_NAME}/$${date:yyyy-MM}/${A_FILE_NAME}-%d{dd-HH-mm}-%i.log">
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1440"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="DebugFile"
fileName="${sys:catalina.home}/${LOG_HOME}/${D_FILE_NAME}.log"
filePattern="${sys:catalina.home}/${LOG_HOME}/${D_FILE_NAME}/$${date:yyyy-MM}/${D_FILE_NAME}-%d{dd-HH-mm}-%i.log">
<Filters>
<ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
</Filters>
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1440"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="ErrorFile"
fileName="${sys:catalina.home}/${LOG_HOME}/${E_FILE_NAME}.log"
filePattern="${sys:catalina.home}/${LOG_HOME}/${E_FILE_NAME}/$${date:yyyy-MM}/${E_FILE_NAME}-%d{dd-HH-mm}-%i.log">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1440"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="WarnFile"
fileName="${sys:catalina.home}/${LOG_HOME}/${W_FILE_NAME}.log"
filePattern="${sys:catalina.home}/${LOG_HOME}/${W_FILE_NAME}/$${date:yyyy-MM}/${W_FILE_NAME}-%d{dd-HH-mm}-%i.log">
<Filters>
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1440"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="InfoFile"
fileName="${sys:catalina.home}/${LOG_HOME}/${I_FILE_NAME}.log"
filePattern="${sys:catalina.home}/${LOG_HOME}/${I_FILE_NAME}/$${date:yyyy-MM}/${I_FILE_NAME}-%d{dd-HH-mm}-%i.log">
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1440"/>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<Logger name="Common.Log" level="trace" additivity="false">
<AppenderRef ref="Console"/>
<AppenderRef ref="DebugFile"/>
<AppenderRef ref="ErrorFile"/>
<AppenderRef ref="WarnFile"/>
<AppenderRef ref="InfoFile"/>
<AppenderRef ref="AllFile"/>
</Logger>
<Root level="all">
<AppenderRef ref="Console"/>
<AppenderRef ref="DebugFile"/>
<AppenderRef ref="ErrorFile"/>
<AppenderRef ref="WarnFile"/>
<AppenderRef ref="InfoFile"/>
<AppenderRef ref="AllFile"/>
</Root>
</Loggers>
</Configuration>