SpringBoot中log4j2.yml的配置和使用

依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

...

<!--log4j2 yml-->
<jackson-dataformat-yaml.version>2.9.8</jackson-dataformat-yaml.version>

...

<!--log4j2 yml-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson-dataformat-yaml.version}</version>
</dependency>

log4j2.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Configuration:
status: warn
monitorInterval: 300

properties:
property:
- name: pattern
value: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%logger{36}.%t:%L] - %msg%n"
- name: path
value: /Users/kyg/logs/demo

Appenders:
RollingFile:
- name: AllFile
fileName: ${path}/all.log
filePattern: "${path}/archive/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${pattern}
Filters:
ThresholdFilter:
- level: fatal
onMatch: DENY
onMismatch: NEUTRAL
- level: debug
onMatch: ACCEPT
onMismatch: DENY
Policies:
TimeBasedTriggeringPolicy:
interval: 1
SizeBasedTriggeringPolicy:
size: "500 MB"
DefaultRolloverStrategy:
max: 200

- name: ErrorFile
fileName: ${path}/error.log
filePattern: "${path}/archive/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${pattern}
Filters:
ThresholdFilter:
- level: fatal
onMatch: DENY
onMismatch: NEUTRAL
- level: error
onMatch: ACCEPT
onMismatch: DENY
Policies:
TimeBasedTriggeringPolicy:
interval: 1
SizeBasedTriggeringPolicy:
size: "500 MB"
DefaultRolloverStrategy:
max: 200

Loggers:
Logger:
name: com.kangyonggan.demo.mapper
level: debug
additivity: false
AppenderRef:
- ref: AllFile
- ref: ErrorFile

Root:
level: info
additivity: true
AppenderRef:
- ref: AllFile
- ref: ErrorFile