springboot3.x版本集成log4j冲突以及解决log4j冲突不生效问题
作者:Smileassissan
由于Spring Boot自带的Logback与Log4j冲突,去除了Logback的jar包后仍存在,原因是其他包也引入了Logback,解决方法是找到并去除引入Logback的其他包,如actuator包,并更新Maven
springboot3.x版本集成log4j冲突及log4j冲突不生效
由于springboot自带的日志logback会与log4j冲突,因此在网上搜了之后,进行了去除操作
<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>
但是我发现去除了之后,logback的jar包依旧存在

解决方案
这可真是纳了闷了,我一度以为是我的maven没有生效,疯狂的进行maven更新以及clean和install,结果发现都不起作用,当时都崩溃了,不明白为啥已经去除了还存在,网上搜了一下,才知道有可能是其他的包也引入了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之后,问题解决

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
