Spring Boot 2.x中如何使用Log4j2记录日志
时间:2023-10-16 18:37:02
前沿技术早就知道了,弯道超车有希望
积累超车资本,关注DD开始
我们介绍了最后一篇文章Spring Boot 2.x默认日志框架Logback的使用。今天继续谈日志。接下来,我们将讨论前段时间核弹漏洞的爆发。Log4j2。虽然漏洞让很多朋友痛苦了1-2周(加班),但不可否认的是,Log4j2仍然是目前性能最好的日志框架。所以,当Logback当性能无法支撑时,更换使用Log4j还是最快最方便的方法。下面,让我们学习如何学习Spring Boot 2.x替换版本Logback,使用Log4j2记录日志。
动手试一试
这里省略Spring Boot如果你不能看这个教程的快速入门,项目的基础创建。
您可以基于以下操作Spring Boot 2.x默认日志框架Logback如果一篇文章的例子继续下去,你也可以使用任何一个Spring Boot 2.x尝试项目。
第一步:在pom.xml
中引入Log4j2的Starter依赖spring-boot-starter-log4j2
,同时排除默认介绍spring-boot-starter-logging
,如下:
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2
第二步:在配置文件application.properties
中,通过logging.config
配置指定log4j2的配置文件位置,如下:
logging.config=classpath:log4j2.xml
第三步:在resource目录下新建log4j2.xml
(这里不是绝对的,根据第二步的内容创建),然后添加log4j2日志配置,如下:
主要方便大家了解如何理解log4j2引入Spring Boot,对于log4j这里不详细介绍如何配置,这里就放一个简单的配置让程序跑起来。若要深入了解log4j2的配置:https://logging.apache.org/log4j/2.x/manual/configuration.html
OK,整合过程到此结束。很简单吗?如果你在学习过程中遇到困难?你可以加入我们的超高质量Spring技术交流小组,参与交流和讨论,更好地学习和进步!Spring Boot教程博客 http://blog.didispace.com,欢迎收集和转发支持!
常见问题
可能有小伙伴会问,之前不是推荐大家用Slf4j记录日志,隔离具体实现的日志框架?那我怎么知道这个操作之后真的用了?Log4j2了呢?
这实际上是一个很好的判断,我们只需要在使用日志的地方添加一个端点,Debug跑起来,观察一下log例如:
以下是默认使用Logback的情况:

以下是使用Log4j2的情况
最后,因为以前Log4j有很大的漏洞问题,大家一定要用最新版本哦!
为了安全起见,建议至少使用2.17.0以上版本(如果使用)Spring Boot 2.6.2 ,那已经是2.17.0,不用担心)。当然,最新已经到了2。.17.你也可以升级到2.17.1.如何升级?或者根据本文介绍的操作。
代码示例
本文的完整工程可查看以下仓库2.x
目录下的chapter8-2
工程:
Github:https://github.com/dyc87112/SpringBoot-Learning/
Gitee:https://gitee.com/didispace/SpringBoot-Learning/
如果你认为这篇文章很好,欢迎Star
支持,你的关注是我坚持的动力!
和优秀的人在一起,你会变得优秀
你还没有加入高质量的技术交流群吗?
点击加入我们,享受一起成长的快乐!
前沿技术早就知道了,弯道超车有希望
积累超车资本,关注DD开始
点击阅读原文,送你免费Spring Boot教程!