- pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <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> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> </dependency>
- application.yml
logging: config: classpath:log4j2.yml
- log4j2.yml
Configuration: Properties: # 全局变量 Property: - name: project.name # 项目名称 value: gwm-icd - name: log.path # 日志路径 value: D:\SymbolDir\Log4j2 - name: log.pattern value: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" Appenders: Console: # 输出到控制台 name: CONSOLE target: SYSTEM_OUT ThresholdFilter: - level: ERROR # 日志级别 onMatch: ACCEPT onMismatch: DENY PatternLayout: # 日志格式 pattern: ${log.pattern} RollingFile: # 输出到文件 - name: ROLLING_FILE ignoreExceptions: false ThresholdFilter: - level: FATAL # 日志级别 onMatch: ACCEPT onMismatch: DENY fileName: ${log.path}/${project.name}.log filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz" PatternLayout: # 日志格式 pattern: ${log.pattern} DefaultRolloverStrategy: # 与filePattern中%i相关: xxxx-xx-xx-1、xxxx-xx-xx-2、xxxx-xx-xx-3 max: 3 SizeBasedTriggeringPolicy: # 与filePattern中.gz相关: 单个日志文件超出1MB将被自动压缩 size: 1MB Loggers: Root: level: DEBUG # 默认日志级别: ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF AppenderRef: - ref: CONSOLE - ref: ROLLING_FILE
-
日期滚动
RollingFile: # 输出到文件 - name: ROLLING_FILE ignoreExceptions: false ThresholdFilter: - level: FATAL # 日志级别 onMatch: ACCEPT onMismatch: DENY fileName: ${log.path}/${project.name}.log # filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}.log.gz" # 按照大小滚动 filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}.log" # 按照日期滚动 PatternLayout: # 日志格式 pattern: ${log.pattern} DefaultRolloverStrategy: max: 1 # SizeBasedTriggeringPolicy: # 按照大小滚动-->日志文件达到10MB进行压缩打包 # size: 10MB TimeBasedTriggeringPolicy: # 按照日期滚动 时间间隔为1天-->每天一个日志文件 interval: 1 modulate: true
-
log4j2测试
1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 2.测试代码 @SpringBootTest class GwmIcdApplicationTests { private static final Logger logger = LogManager.getLogger(GwmIcdApplicationTests.class); @Test void log4j2Test() { for (int i = 0; i < 1000000; i++) { logger.error("error=================================" + i); logger.fatal("fatal=================================" + i); } } }
SpringBoot+Log4j2
于 2023-01-10 00:09:47 首次发布