返回
日益稳健和完美的SpringBoot整合log4j2
后端
2023-09-26 02:15:27
以前,在一个项目中做了优化,将原有的日志配置logBack改为log4j2。查阅了网上各种资料和官方文档,遇到了很多问题,最终完成了迁移,特此记录一下。
1. 引入log4j2依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
2. 配置log4j2.properties文件
# 日志输出级别
log4j.rootLogger.level=info
# 日志输出格式
log4j.appender.console.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} - %msg%n
# 将日志输出到控制台
log4j.appender.console=org.apache.logging.log4j.core.appender.ConsoleAppender
log4j.appender.console.layout=org.apache.logging.log4j.core.layout.PatternLayout
3. 在SpringBoot应用中使用log4j2
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App {
private static final Logger logger = LoggerFactory.getLogger(App.class);
public static void main(String[] args) {
logger.info("Hello World!");
}
}
4. log4j2的配置
log4j2的配置文件名为log4j2.properties,它位于项目的resources目录下。log4j2.properties文件的内容如下:
# 日志输出级别
log4j.rootLogger.level=info
# 日志输出格式
log4j.appender.console.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} - %msg%n
# 将日志输出到控制台
log4j.appender.console=org.apache.logging.log4j.core.appender.ConsoleAppender
log4j.appender.console.layout=org.apache.logging.log4j.core.layout.PatternLayout
# 将日志输出到文件
log4j.appender.file=org.apache.logging.log4j.core.appender.FileAppender
log4j.appender.file.fileName=logs/app.log
log4j.appender.file.layout=org.apache.logging.log4j.core.layout.PatternLayout
log4j.appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} - %msg%n
5. log4j2的使用说明
log4j2的使用非常简单,只需要在需要记录日志的地方添加如下代码即可:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App {
private static final Logger logger = LoggerFactory.getLogger(App.class);
public static void main(String[] args) {
logger.info("Hello World!");
}
}
6. 使用log4j2的最佳实践
- 使用日志级别来控制日志输出的粒度。
- 使用日志格式化器来控制日志输出的格式。
- 使用日志追加器来控制日志输出的目的地。
- 使用日志记录器来记录日志。