<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>RELEASE</version>
</dependency>
<!-- 解析yml-->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.9.7</version>
</dependency>
<!-- 异步实现-->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.1</version>
</dependency>
Configuration:
name:xxx_logger
Properties:
Property:
- name: log.path
value: logs
- name: app.name
value: xxx
- name: log.pattern
value: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %l: %msg%n"
Appenders:
Console:
name: console
target: SYSTEM_OUT
PatternLayout:
pattern: ${log.pattern}
RollingFile:
name: running_log
fileName: ${log.path}/${app.name}-running.log
filePattern: "logs/archive/running.log.%d{yyyy-MM-dd-hh-mm}.gz"
PatternLayout:
charset: utf-8
pattern: ${log.pattern}
Filters:
ThresholdFilter:
- level: info
onMatch: ACCEPT
onMismatch: DENY
Policies:
SizeBasedTriggeringPolicy:
size: 500 MB
DefaultRollOverStrategy:
max: 200
Loggers:
AsyncRoot:
level: debug
includeLocation: true
AppenderRef:
- ref: console
- ref: running_log