1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!--
3 monitorInterval:每间隔指定的时间重新加载配置文件,单位:秒
4 warn:log4j本身日志级别
5 -->
6 <Configuration status="warn" monitorInterval="30">
7 <Properties>
8 <Property name="console" value="[%d{yyyy-MM-dd HH:mm:ss}][%level][%t][%l] - %msg%n"/>
9 <Property name="pattern" value="[%d{yyyy-MM-dd HH:mm:ss}][%level][%t][%l] - %msg%n"/>
10 <Property name="logDir" value="logs"/>
11 </Properties>
12 <Appenders>
13 <Console name="console" target="SYSTEM_OUT">
14 <PatternLayout pattern="${console}" charset="UTF-8"/>
15 </Console>
16 <RollingFile name="info" fileName="${logDir}/${date:yyyy-MM-dd}/info.log" filePattern="${logDir}/${date:yyyy-MM-dd}/info.%i.log">
17 <PatternLayout pattern="${pattern}" charset="UTF-8"/>
18 <Policies>
19 <SizeBasedTriggeringPolicy size="64 MB"/>
20 </Policies>
21 <DefaultRolloverStrategy max="20"/>
22 <ThresholdFilter level="warn" onMatch="DENY" onMismatch="ACCEPT"/>
23 </RollingFile>
24 <RollingFile name="warn" fileName="${logDir}/${date:yyyy-MM-dd}/warn.log" filePattern="${logDir}/${date:yyyy-MM-dd}/warn.%i.log">
25 <PatternLayout pattern="${pattern}" charset="UTF-8"/>
26 <Policies>
27 <SizeBasedTriggeringPolicy size="64 MB"/>
28 </Policies>
29 <DefaultRolloverStrategy max="20"/>
30 <Filters>
31 <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
32 <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
33 </Filters>
34 </RollingFile>
35 <RollingFile name="error" fileName="${logDir}/${date:yyyy-MM-dd}/error.log" filePattern="${logDir}/$${date:yyyy-MM-dd}/error.%i.log">
36 <PatternLayout pattern="${pattern}" charset="UTF-8"/>
37 <Policies>
38 <SizeBasedTriggeringPolicy size="64 MB"/>
39 </Policies>
40 <DefaultRolloverStrategy max="20"/>
41 <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
42 </RollingFile>
43 </Appenders>
44 <Loggers>
45 <Root level="info">
46 <AppenderRef ref="console"/>
47 <AppenderRef ref="info"/>
48 <AppenderRef ref="warn"/>
49 <AppenderRef ref="error"/>
50 </Root>
51 </Loggers>
52 </Configuration>