Spring boot 配置 log4j2.xml
1. pom
添加jackjson相关依赖前, 先看下当前的pom中是否有其他依赖已经引入了jackjson
如果没有, 直接手动引入jackjson的依赖,保持版本一致
如果已经引入了一部分或者全部, 则调整依赖版本一致
<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>
<!-- 日志异步实现-->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.1</version>
</dependency>
<!-- 解析YAML文件-->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.11.4</version>
</dependency>
<!-- 辅助解析YAML文件-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.4</version>
</dependency>
<!-- 辅助解析YAML文件-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.11.4</version>
</dependency>
2. yaml示例
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
如果文章对您有所帮助,可以点一下推荐