SLF4J: Class path contains multiple SLF4J bindings.

本文详细解析了SpringBoot启动时出现的SLF4J日志框架多重绑定警告问题,特别是logback-classic与log4j-slf4j-impl之间的冲突。介绍了如何通过Maven排除冲突依赖来解决该问题。
摘要由CSDN通过智能技术生成

springboot启动出现如下警告:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/wangfei/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/wangfei/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

 

ide内启动仅仅是警告,打成jar发布到服务器,直接报了个日志类相关的异常,中断启动。

从信息上看是logback-classic 和 log4j-slf4j-impl冲突,通过查找maven的依赖关系,找到引入的包并排除掉log4j-slf4j-impl-2.11.2.jar

<dependency>
    <groupId>xxxxxx/groupId>
    <artifactId>xxxx</artifactId>
    <version>xxxxx</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
        </exclusion>
    </exclusions>
</dependency>
这是 SLF4J(Simple Logging Facade for Java)的日志输出警告信息,它表明在你的项目中存在多个 SLF4J 的日志实现绑定。这种情况下,SLF4J 将选择其中一个作为实际的绑定。 警告信息中列出了多个绑定(bindings),并指出了这些绑定所在的 jar 包路径。例如: - slf4j-simple-1.7.12.jar - slf4j-log4j12-1.7.30.jar - slf4j-jdk14-1.5.6.jar - com.springsource.slf4j.log4j-1.6.1.jar 警告还提供了一个链接(http://www.slf4j.org/codes.html#multiple_bindings),解释了为什么会发生多个绑定的情况。 根据警告信息中的 "Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]",SLF4J 实际上选择了 `org.slf4j.impl.SimpleLoggerFactory` 作为日志实现的绑定。 如果你想解决这个警告,可以考虑以下几个步骤: 1. 检查你的项目依赖关系,确保只有需要的 SLF4J 相关的库被包含在项目中。检查你的 Maven 或 Gradle 配置文件,并删除不必要的依赖项。 2. 如果你确实需要多个 SLF4J 的日志实现,可以选择保留一个并删除其他的实现。例如,如果你想要使用 log4j2 作为日志实现,可以排除其他绑定,只保留 slf4j-log4j12 的依赖。 3. 如果你的项目中使用了其他日志框架(如 logback 或 log4j),请确保只有一个日志框架的绑定被包含在项目中。 4. 如果你的项目中没有明确指定 SLF4J 的日志实现,可以尝试在项目的依赖中添加一个合适的日志实现库,例如 logback 或 log4j。 请根据你的具体情况和项目需求进行相应调整,以解决 SLF4J 的多重绑定问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值