springboot3.x版本集成log4j沖突以及解決log4j沖突不生效問題
更新時間:2024年11月19日 14:48:02 作者:Smileassissan
由于Spring Boot自帶的Logback與Log4j沖突,去除了Logback的jar包后仍存在,原因是其他包也引入了Logback,解決方法是找到并去除引入Logback的其他包,如actuator包,并更新Maven
springboot3.x版本集成log4j沖突及l(fā)og4j沖突不生效
由于springboot自帶的日志logback會與log4j沖突,因此在網(wǎng)上搜了之后,進行了去除操作
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
但是我發(fā)現(xiàn)去除了之后,logback的jar包依舊存在

解決方案
這可真是納了悶了,我一度以為是我的maven沒有生效,瘋狂的進行maven更新以及clean和install,結(jié)果發(fā)現(xiàn)都不起作用,當時都崩潰了,不明白為啥已經(jīng)去除了還存在,網(wǎng)上搜了一下,才知道有可能是其他的包也引入了logback,也就是需要找到哪里引入的,依舊查看maven的包,找到罪魁禍首了,因為我還引入了actuator包,這個包也引入了logback

那么接著把這個包里面的logback也給去除掉
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
更新maven之后,問題解決

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

