Spring Boot Log4j2配置

释放双眼,带上耳机,听听看~!

pom.xml


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1<dependency>
2    <groupId>org.springframework.boot</groupId>
3    <artifactId>spring-boot-starter</artifactId>
4    <exclusions>
5        <exclusion>
6            <groupId>org.springframework.boot</groupId>
7            <artifactId>spring-boot-starter-logging</artifactId>
8        </exclusion>
9    </exclusions>
10</dependency>
11<dependency>
12    <groupId>org.springframework.boot</groupId>
13    <artifactId>spring-boot-starter-log4j2</artifactId>
14</dependency>
15

application.properties

指定log4j2配置文件的位置与名称。


1
2
1logging.config=classpath:log4j2.properties
2

log4j2.properties

常用配置,控制台输出,按日滚动日志。

rootLogger.appenderRef.rolling.ref.level可以配置日志级别,这里不作演示。

特色:日志按日志级别输出彩色日志。


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
1name=PropertiesConfig
2property.filename=logs
3appenders=console, rolling
4
5# rootLogger
6rootLogger.level=info
7rootLogger.appenderRef.stdout.ref=Stdout
8rootLogger.appenderRef.rolling.ref=InfoRollingFile
9
10# console
11appender.console.type=Console
12appender.console.name=Stdout
13appender.console.layout.type=PatternLayout
14appender.console.layout.pattern=%highlight{%d{MM-dd HH:mm:ss.SSS} [%5p] [%40.40c{1.}:%3L] - %m%n}{FATAL=white, ERROR=red, WARN=blue, INFO=Green, DEBUG=Yellow, TRACE=blue}
15
16# rolling file
17appender.rolling.type=RollingFile
18appender.rolling.name=InfoRollingFile
19appender.rolling.fileName=./logs/rolling.log
20appender.rolling.filePattern=./logs/rolling_%d{yyyy-MM-dd}_%i.log
21appender.rolling.layout.type=PatternLayout
22appender.rolling.layout.pattern=%highlight{%d{MM-dd HH:mm:ss.SSS} [%5p] [%40.40c{1.}:%3L] - %m%n}{FATAL=white, ERROR=red, WARN=blue, INFO=Green, DEBUG=Yellow, TRACE=blue}
23appender.rolling.policies.type=Policies
24appender.rolling.policies.time.type=TimeBasedTriggeringPolicy
25appender.rolling.policies.time.interval=1
26appender.rolling.policies.time.modulate=true
27appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
28appender.rolling.policies.size.size=20M
29appender.rolling.strategy.type=DefaultRolloverStrategy
30appender.rolling.strategy.max=100
31
32

优化

分别只打印 debug、info、error 日志到对应的log文件中.


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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
1name=PropertiesConfig
2# 公共变量
3# 文件路径
4property.filePath=logs
5property.filePattern=logs/%d{yyyy-MM-dd}
6# 输出格式
7property.layoutPattern=%highlight{%d{MM-dd HH:mm:ss.SSS} [%5p] [%40.40c{1.}:%3L] - %m%n}{FATAL=white, ERROR=red, WARN=blue, INFO=Green, DEBUG=Yellow, TRACE=blue}
8# 记录器
9appenders=Console,Debug,Info,Error
10# 根记录器,所有记录器的父辈
11rootLogger.level=debug
12# 级别过滤(过滤日志记录)
13# filters = threshold
14filter.threshold.type=ThresholdFilter
15# 只记录debug级别以上的日志,大小写无关:(ALL<)TRACE<DEBUG<INFO<WARN<ERROR<FATAL(<OFF)
16filter.threshold.level=debug
17# console
18appender.Console.type=Console
19appender.Console.name=Stdout
20appender.Console.layout.type=PatternLayout
21appender.Console.layout.pattern=${layoutPattern}
22rootLogger.appenderRef.stdout.ref=Stdout
23# debug rolling file
24appender.Debug.type=RollingFile
25appender.Debug.name=DebugRollingFile
26appender.Debug.fileName=${filePath}/debug.log
27appender.Debug.filePattern=${filePattern}/debug_%d{yyyy-MM-dd}_%i.log
28appender.Debug.layout.type=PatternLayout
29appender.Debug.layout.pattern=${layoutPattern}
30appender.Debug.policies.type=Policies
31appender.Debug.policies.time.type=TimeBasedTriggeringPolicy
32appender.Debug.policies.time.interval=1
33appender.Debug.policies.time.modulate=true
34appender.Debug.policies.size.type=SizeBasedTriggeringPolicy
35appender.Debug.policies.size.size=20M
36appender.Debug.strategy.type=DefaultRolloverStrategy
37appender.Debug.strategy.max=100
38# 过滤debug以上信息
39appender.Debug.filter.threshold.type=ThresholdFilter
40appender.Debug.filter.threshold.level=INFO
41appender.Debug.filter.threshold.onMatch=DENY
42appender.Debug.filter.threshold.onMisMatch=NEUTRAL
43# InfoRollingFile 日志级别
44rootLogger.appenderRef.Debug.level=debug
45rootLogger.appenderRef.Debug.ref=DebugRollingFile
46# info rolling file
47appender.Info.type=RollingFile
48appender.Info.name=InfoRollingFile
49appender.Info.fileName=${filePath}/info.log
50appender.Info.filePattern=${filePattern}/info_%d{yyyy-MM-dd}_%i.log
51appender.Info.layout.type=PatternLayout
52appender.Info.layout.pattern=${layoutPattern}
53appender.Info.policies.type=Policies
54appender.Info.policies.time.type=TimeBasedTriggeringPolicy
55appender.Info.policies.time.interval=1
56appender.Info.policies.time.modulate=true
57appender.Info.policies.size.type=SizeBasedTriggeringPolicy
58appender.Info.policies.size.size=20M
59appender.Info.strategy.type=DefaultRolloverStrategy
60appender.Info.strategy.max=100
61# 过滤 info 以上信息,只输出 info 级别日志
62appender.Info.filter.threshold.type=ThresholdFilter
63appender.Info.filter.threshold.level=warn
64appender.Info.filter.threshold.onMatch=DENY
65appender.Info.filter.threshold.onMisMatch=NEUTRAL
66# InfoRollingFile 日志级别
67rootLogger.appenderRef.Info.level=info
68rootLogger.appenderRef.Info.ref=InfoRollingFile
69# error rolling file
70appender.Error.type=RollingFile
71appender.Error.name=ErrorRollingFile
72appender.Error.fileName=${filePath}/error.log
73appender.Error.filePattern=${filePattern}/error_%d{yyyy-MM-dd}_%i.log
74appender.Error.layout.type=PatternLayout
75appender.Error.layout.pattern=${layoutPattern}
76appender.Error.policies.type=Policies
77appender.Error.policies.time.type=TimeBasedTriggeringPolicy
78appender.Error.policies.time.interval=1
79appender.Error.policies.time.modulate=true
80appender.Error.policies.size.type=SizeBasedTriggeringPolicy
81appender.Error.policies.size.size=20M
82appender.Error.strategy.type=DefaultRolloverStrategy
83appender.Error.strategy.max=100
84# 过滤 error 以上信息,只输出 error 级别日志
85appender.Error.filter.threshold.type=ThresholdFilter
86appender.Error.filter.threshold.level=fatal
87appender.Error.filter.threshold.onMatch=DENY
88appender.Error.filter.threshold.onMisMatch=NEUTRAL
89# ErrorRollingFile 日志级别
90rootLogger.appenderRef.Error.level=error
91rootLogger.appenderRef.Error.ref=ErrorRollingFile
92

如图:

给TA打赏
共{{data.count}}人
人已打赏
安全技术

C++ lambda表达式

2022-1-11 12:36:11

安全技术

tar压缩解压缩命令详解

2021-8-18 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索