1
- <?xml version =" 1.0" encoding =" UTF-8" standalone =" no" ?><!-- 本配置文件的目标是将不同级别的日志输出到不同文件 --><!-- 最大2MB一个文件, 文件数据达到最大值时,旧数据会被压缩并放进指定文件夹 --><!-- status : 这个用于设置log4j2自身内部的信息输出,可以不设置 --><!-- 当设置成trace时,会看到log4j2内部各种详细输出 monitorInterval --><!-- monitorInterval="60"表示每60秒配置文件会动态加载一次。在程序运行过程中,如果修改配置文件,程序会随之改变。 --> <Configuration monitorInterval =" 60" status =" WARN" >
2
- <!-- 定义通用的属性 -->
3
- <Properties >
4
- <!-- 云端部署 这里的logs为项目根目录下的logs文件夹 -->
5
- <!-- web:rootDir指向web应用根目录,需使用log4j-web.jar -->
6
- <Property name =" log_path" >F:\Eclipse\workspaces\workspace pers\web\web-pc/logs</Property >
7
- <!-- 本地开发使用绝对路径定义日志 -->
8
- <!-- <Property name="log_path">${web:rootDir}\logs</Property> -->
9
-
10
- <Property name =" log_pattern" >[%-5p] < %d{yyyy-MM-dd HH:mm:ss,sss}> at [%C.%M] |--- %m ---| click goto-> (%F:%L)%n</Property ><!-- 定义统一的日志输出格式 -->
11
- <!-- 高亮控制台输出 -->
12
- <Property name =" log_pattern_highlight" >%highlight{${log_pattern}}{FATAL=Bright Red, ERROR=Magenta, WARN=Cyan, INFO=Green, DEBUG=Yellow, TRACE=Bright Blue}</Property >
13
- </Properties >
14
-
15
- <appenders >
16
- <!-- 控制台输出 -->
17
- <Console name =" console_out_appender" target =" SYSTEM_OUT" >
18
- <!-- level定义级别 -->
19
- <ThresholdFilter level =" trace" onMatch =" ACCEPT" onMismatch =" DENY" />
20
- <PatternLayout pattern =" ${log_pattern_highlight}" />
21
- </Console >
22
-
23
- <!-- 这个输出控制台的配置,这里输出warn和error级别的信息到System.err,在eclipse控制台上看到的是红色文字 -->
1
+ <?xml version =" 1.0" encoding =" UTF-8" standalone =" no" ?><!-- 本配置文件的目标是将不同级别的日志输出到不同文件 --><!-- 最大2MB一个文件, 文件数据达到最大值时,旧数据会被压缩并放进指定文件夹 --><!-- status : 这个用于设置log4j2自身内部的信息输出,可以不设置 --><!-- 当设置成trace时,会看到log4j2内部各种详细输出 monitorInterval --><!-- monitorInterval="60"表示每60秒配置文件会动态加载一次。在程序运行过程中,如果修改配置文件,程序会随之改变。 --> <Configuration monitorInterval =" 60" status =" WARN" >
2
+ <!-- 定义通用的属性 -->
3
+ <Properties >
4
+ <!-- 云端部署 这里的logs为项目根目录下的logs文件夹 -->
5
+ <!-- web:rootDir指向web应用根目录,需使用log4j-web.jar -->
6
+ <Property name =" log_path" >F:\Eclipse\workspaces\workspace pers\web\web-pc/logs</Property >
7
+ <!-- 本地开发使用绝对路径定义日志 -->
8
+ <!-- <Property name="log_path">${web:rootDir}\logs</Property> -->
9
+
10
+ <Property name =" log_pattern" >[%-5p] < %d{yyyy-MM-dd HH:mm:ss,sss}> at [%C.%M] |--- %m ---| click goto-> (%F:%L)%n</Property ><!-- 定义统一的日志输出格式 -->
11
+ <!-- 高亮控制台输出 -->
12
+ <Property name =" log_pattern_highlight" >%highlight{${log_pattern}}{FATAL=Bright Red, ERROR=Magenta, WARN=Cyan, INFO=Green, DEBUG=Yellow, TRACE=Bright Blue}</Property >
13
+ </Properties >
14
+
15
+ <appenders >
16
+ <!-- 控制台输出 -->
17
+ <Console name =" console_out_appender" target =" SYSTEM_OUT" >
18
+ <!-- level定义级别 -->
19
+ <ThresholdFilter level =" trace" onMatch =" ACCEPT" onMismatch =" DENY" />
20
+ <PatternLayout pattern =" ${log_pattern_highlight}" />
21
+ </Console >
22
+
23
+ <!-- 这个输出控制台的配置,这里输出warn和error级别的信息到System.err,在eclipse控制台上看到的是红色文字 -->
24
24
<!-- <Console name="console_err_appender" target="SYSTEM_ERR">
25
25
控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)
26
26
<ThresholdFilter level="trace" onMatch="ACCEPT"
27
27
onMismatch="DENY" />
28
28
输出日志的格式
29
29
<PatternLayout pattern="${log_pattern}" />
30
- </Console> -->
31
-
32
- <!-- TRACE级别日志 -->
33
- <!-- 设置日志格式并配置日志压缩格式,压缩文件独立放在一个文件夹内, 日期格式不能为冒号,否则无法生成,因为文件名不允许有冒号,此appender只输出trace级别的数据到trace.log -->
34
- <RollingRandomAccessFile fileName =" ${log_path}/trace.log" filePattern =" ${log_path}/trace/trace - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" trace_appender" >
35
- <PatternLayout >
36
- <pattern >${log_pattern}</pattern >
37
- </PatternLayout >
38
- <Policies >
39
- <!-- 每个日志文件最大2MB -->
40
- <SizeBasedTriggeringPolicy size =" 2MB" />
41
- </Policies >
42
- <Filters ><!-- 此Filter意思是,只输出debug级别的数据 -->
43
- <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
44
- <ThresholdFilter level =" debug" onMatch =" DENY" onMismatch =" NEUTRAL" />
45
- <ThresholdFilter level =" trace" onMatch =" ACCEPT" onMismatch =" DENY" />
46
- </Filters >
47
- </RollingRandomAccessFile >
48
-
49
- <!-- DEBUG级别日志 -->
50
- <!-- 设置日志格式并配置日志压缩格式,压缩文件独立放在一个文件夹内, 日期格式不能为冒号,否则无法生成,因为文件名不允许有冒号,此appender只输出debug级别的数据到debug.log -->
51
- <RollingRandomAccessFile fileName =" ${log_path}/debug.log" filePattern =" ${log_path}/debug/debug - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" debug_appender" >
52
- <PatternLayout >
53
- <pattern >${log_pattern}</pattern >
54
- </PatternLayout >
55
- <Policies >
56
- <!-- 每个日志文件最大2MB -->
57
- <SizeBasedTriggeringPolicy size =" 2MB" />
58
- </Policies >
59
- <Filters ><!-- 此Filter意思是,只输出debug级别的数据 -->
60
- <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
61
- <ThresholdFilter level =" info" onMatch =" DENY" onMismatch =" NEUTRAL" />
62
- <ThresholdFilter level =" debug" onMatch =" ACCEPT" onMismatch =" DENY" />
63
- </Filters >
64
- </RollingRandomAccessFile >
65
-
66
- <!-- INFO级别日志 -->
67
- <RollingRandomAccessFile fileName =" ${log_path}/info.log" filePattern =" ${log_path}/info/info - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" info_appender" >
68
- <PatternLayout >
69
- <pattern >${log_pattern}</pattern >
70
- </PatternLayout >
71
- <Policies >
72
- <SizeBasedTriggeringPolicy size =" 2MB" />
73
- </Policies >
74
- <Filters >
75
- <ThresholdFilter level =" warn" onMatch =" DENY" onMismatch =" NEUTRAL" />
76
- <ThresholdFilter level =" info" onMatch =" ACCEPT" onMismatch =" DENY" />
77
- </Filters >
78
- </RollingRandomAccessFile >
79
-
80
- <!-- WARN级别日志 -->
81
- <RollingRandomAccessFile fileName =" ${log_path}/warn.log" filePattern =" ${log_path}/warn/warn - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" warn_appender" >
82
- <PatternLayout >
83
- <pattern >${log_pattern}</pattern >
84
- </PatternLayout >
85
- <Policies >
86
- <SizeBasedTriggeringPolicy size =" 2MB" />
87
- </Policies >
88
- <Filters >
89
- <ThresholdFilter level =" error" onMatch =" DENY" onMismatch =" NEUTRAL" />
90
- <ThresholdFilter level =" warn" onMatch =" ACCEPT" onMismatch =" DENY" />
91
- </Filters >
92
- </RollingRandomAccessFile >
93
-
94
- <!-- ERROR级别日志 -->
95
- <RollingRandomAccessFile fileName =" ${log_path}/error.log" filePattern =" ${log_path}/error/error - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" error_appender" >
96
- <PatternLayout >
97
- <pattern >${log_pattern}</pattern >
98
- </PatternLayout >
99
- <Policies >
100
- <SizeBasedTriggeringPolicy size =" 2MB" />
101
- </Policies >
102
- <Filters >
103
- <ThresholdFilter level =" error" onMatch =" ACCEPT" onMismatch =" DENY" />
104
- </Filters >
105
- </RollingRandomAccessFile >
106
- </appenders >
107
-
108
- <Loggers >
109
- <!-- 配置日志的根节点 -->
110
- <root level =" trace" >
111
- <appender-ref ref =" console_out_appender" />
112
- <!-- <appender-ref ref="console_err_appender" /> -->
113
- <appender-ref ref =" trace_appender" />
114
- <appender-ref ref =" debug_appender" />
115
- <appender-ref ref =" info_appender" />
116
- <appender-ref ref =" warn_appender" />
117
- <appender-ref ref =" error_appender" />
118
- </root >
119
-
120
- <!-- 过滤第三方日志系统 -->
30
+ </Console> -->
31
+
32
+ <!-- TRACE级别日志 -->
33
+ <!-- 设置日志格式并配置日志压缩格式,压缩文件独立放在一个文件夹内, 日期格式不能为冒号,否则无法生成,因为文件名不允许有冒号,此appender只输出trace级别的数据到trace.log -->
34
+ <RollingRandomAccessFile fileName =" ${log_path}/trace.log" filePattern =" ${log_path}/trace/trace - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" trace_appender" >
35
+ <PatternLayout >
36
+ <pattern >${log_pattern}</pattern >
37
+ </PatternLayout >
38
+ <Policies >
39
+ <!-- 每个日志文件最大2MB -->
40
+ <SizeBasedTriggeringPolicy size =" 2MB" />
41
+ </Policies >
42
+ <Filters ><!-- 此Filter意思是,只输出debug级别的数据 -->
43
+ <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
44
+ <ThresholdFilter level =" debug" onMatch =" DENY" onMismatch =" NEUTRAL" />
45
+ <ThresholdFilter level =" trace" onMatch =" ACCEPT" onMismatch =" DENY" />
46
+ </Filters >
47
+ </RollingRandomAccessFile >
48
+
49
+ <!-- DEBUG级别日志 -->
50
+ <!-- 设置日志格式并配置日志压缩格式,压缩文件独立放在一个文件夹内, 日期格式不能为冒号,否则无法生成,因为文件名不允许有冒号,此appender只输出debug级别的数据到debug.log -->
51
+ <RollingRandomAccessFile fileName =" ${log_path}/debug.log" filePattern =" ${log_path}/debug/debug - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" debug_appender" >
52
+ <PatternLayout >
53
+ <pattern >${log_pattern}</pattern >
54
+ </PatternLayout >
55
+ <Policies >
56
+ <!-- 每个日志文件最大2MB -->
57
+ <SizeBasedTriggeringPolicy size =" 2MB" />
58
+ </Policies >
59
+ <Filters ><!-- 此Filter意思是,只输出debug级别的数据 -->
60
+ <!-- DENY,日志将立即被抛弃不再经过其他过滤器; NEUTRAL,有序列表里的下个过滤器过接着处理日志; ACCEPT,日志会被立即处理,不再经过剩余过滤器。 -->
61
+ <ThresholdFilter level =" info" onMatch =" DENY" onMismatch =" NEUTRAL" />
62
+ <ThresholdFilter level =" debug" onMatch =" ACCEPT" onMismatch =" DENY" />
63
+ </Filters >
64
+ </RollingRandomAccessFile >
65
+
66
+ <!-- INFO级别日志 -->
67
+ <RollingRandomAccessFile fileName =" ${log_path}/info.log" filePattern =" ${log_path}/info/info - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" info_appender" >
68
+ <PatternLayout >
69
+ <pattern >${log_pattern}</pattern >
70
+ </PatternLayout >
71
+ <Policies >
72
+ <SizeBasedTriggeringPolicy size =" 2MB" />
73
+ </Policies >
74
+ <Filters >
75
+ <ThresholdFilter level =" warn" onMatch =" DENY" onMismatch =" NEUTRAL" />
76
+ <ThresholdFilter level =" info" onMatch =" ACCEPT" onMismatch =" DENY" />
77
+ </Filters >
78
+ </RollingRandomAccessFile >
79
+
80
+ <!-- WARN级别日志 -->
81
+ <RollingRandomAccessFile fileName =" ${log_path}/warn.log" filePattern =" ${log_path}/warn/warn - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" warn_appender" >
82
+ <PatternLayout >
83
+ <pattern >${log_pattern}</pattern >
84
+ </PatternLayout >
85
+ <Policies >
86
+ <SizeBasedTriggeringPolicy size =" 2MB" />
87
+ </Policies >
88
+ <Filters >
89
+ <ThresholdFilter level =" error" onMatch =" DENY" onMismatch =" NEUTRAL" />
90
+ <ThresholdFilter level =" warn" onMatch =" ACCEPT" onMismatch =" DENY" />
91
+ </Filters >
92
+ </RollingRandomAccessFile >
93
+
94
+ <!-- ERROR级别日志 -->
95
+ <RollingRandomAccessFile fileName =" ${log_path}/error.log" filePattern =" ${log_path}/error/error - %d{yyyy-MM-dd HH-mm-ss}.log.gz" immediateFlush =" true" name =" error_appender" >
96
+ <PatternLayout >
97
+ <pattern >${log_pattern}</pattern >
98
+ </PatternLayout >
99
+ <Policies >
100
+ <SizeBasedTriggeringPolicy size =" 2MB" />
101
+ </Policies >
102
+ <Filters >
103
+ <ThresholdFilter level =" error" onMatch =" ACCEPT" onMismatch =" DENY" />
104
+ </Filters >
105
+ </RollingRandomAccessFile >
106
+ </appenders >
107
+
108
+ <Loggers >
109
+ <!-- 配置日志的根节点 -->
110
+ <root level =" trace" >
111
+ <appender-ref ref =" console_out_appender" />
112
+ <!-- <appender-ref ref="console_err_appender" /> -->
113
+ <appender-ref ref =" trace_appender" />
114
+ <appender-ref ref =" debug_appender" />
115
+ <appender-ref ref =" info_appender" />
116
+ <appender-ref ref =" warn_appender" />
117
+ <appender-ref ref =" error_appender" />
118
+ </root >
119
+
120
+ <!-- 过滤第三方日志系统 -->
121
121
<!-- <logger level="info" name="org.springframework.core"/>
122
122
<logger level="info" name="org.springframework.beans"/>
123
123
<logger level="info" name="org.springframework.context"/>
124
124
<logger level="info" name="org.springframework.web"/>
125
125
<logger level="warn" name="org.jboss.netty"/>
126
- <logger level="warn" name="org.apache.http"/> -->
127
-
128
- </Loggers >
126
+ <logger level="warn" name="org.apache.http"/> -->
127
+
128
+ </Loggers >
129
129
</Configuration >
0 commit comments