springboot升级log4j2,解决漏洞问题

最近log4j2爆出有重大漏洞问题,公司也紧急要求各个项目自己查验,要求将log4j的版本升到安全版本

目前我们使用的是springboot 1.5.9版本,内置log4j2是2.7的版本,虽然整合了mybatis,但是log4i的版本依然是以springboot内置为主

2个方案,一个是官方提供的,个人推荐,另一个是根据网上的总结出来的,测试结果也是对的

方法一:spring官网推荐(强烈建议用官网的)

https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
官网介绍了2种情况,

情况一:直接用soringboot父pom的,类似如下的(推荐如下方式)
	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/> 
    </parent>

这种情况下的,就需要在自己项目的pom.xml文件中添加如下代码

<properties>
    <log4j2.version>2.16.0</log4j2.version>
</properties>

若果自己项目的pom.xml文件里已经有<properties>标签了,就自行在里面添加<log4j2.version>2.16.0</log4j2.version>,版本自己选择,最好是>=2.15版本

这边补充一下原因,<properties>可以覆盖父类pom文件里引入的依赖的版本
改完以后,可以自己看下自己项目的依赖版本是否升级了,我这边是选择升级到2.15的版本
用这种方式的好处是,你不需要一个一个去找,基本只要父pom设置好了,其他的基本就会同步升级
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Spring Boot中使用Log4j的方法如下: 1. 在pom.xml文件中引入log4j的依赖: ``` <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> <version>1.3.8.RELEASE</version> </dependency> ``` 2. 关闭Spring Boot自带的Logback依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- exclude Logback --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> ``` 3. 创建一个测试类,并在该类中使用Logger记录日志: ```java package com.boot.zhiyi.logTest; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class logTest { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Test public void testLog() { logger.error("用户为绑定就开始缴费"); } } ``` 通过以上步骤,你就可以在Spring Boot项目中使用Log4j来记录日志了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [springBoot使用log4j详解](https://blog.csdn.net/zhiyikeji/article/details/85955010)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值