`
erichua
  • 浏览: 516404 次
  • 性别: Icon_minigender_2
  • 来自: 远方
社区版块
存档分类
最新评论

[log4j]Slf4j的包冲突

    博客分类:
  • JAVA
阅读更多

在SSH配置时,发现在junit4下测试时,出现

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory

究其原因是如果log4j-over-slf4j.jar 和 slf4j-log4j12.jar 在同一个classpath下就会出现这个错误。
其中log4j-over-slf4j.jar的作用是通过Log4j进行logback slf4j共存时bridge的作用。
slf4j-log4j12.jar用途在于slf4j通过slf4j-log4j12调度log4j

去除slf4j-log4j12.jar就可以了。感觉log4j功能确实强大,但facade模式的应用造成logback slf4j有许多纠结

分享到:
评论
1 楼 107x 2015-01-07  
不错,谢谢分享!

相关推荐

    slf4j jar包

    3. **桥接器**:如果项目中已经存在其他日志框架,SLF4J提供了桥接器,例如log4j-over-slf4j,可以将Log4j的日志调用重定向到SLF4J API。 **SLF4J的使用步骤:** 1. **引入SLF4J API**:在项目中添加slf4j-api.jar...

    slf4j-log4j12-1.7.7.jar下载

    在使用SLF4J和Log4j12时,你需要注意的一点是,由于Log4j1.2相比Log4j2在某些方面可能较旧,例如性能和功能更新,因此在新项目中,你可能会考虑使用更新的SLF4J绑定器,如slf4j-log4j2,以便利用Log4j2的改进特性。...

    slf4j+log4j

    要在项目中使用SLF4J和Log4j,首先需要引入相关的jar包。SLF4J提供了API接口,而Log4j提供了实际的日志打印功能。通常,项目会包含`slf4j-api.jar`(SLF4J API)和`log4j.jar`(Log4j实现)。此外,还需要一个桥接...

    tomcat9 slf4j+log4j2 写日志.zip

    3. **配置Tomcat**:在`$CATALINA_HOME/lib`目录下添加`log4j-api.jar`和`log4j-slf4j-impl.jar`,这将使Tomcat使用Log4j2作为其内部的日志系统。 4. **排除其他日志实现**:确保你的应用中没有引入其他的日志实现...

    slf4j-log4j12-1.7.12.jar、slf4j-api-1.7.12.jar

    标题中的"slf4j-log4j12-1.7.12.jar"是SLF4J的一个绑定包,它的作用是将SLF4J API与log4j日志框架连接起来。具体来说,这个版本(1.7.12)的绑定包实现了SLF4J的API,并将其桥接到log4j的实现上,使得开发者可以通过...

    slf4j-log4j12-1.5.6.jar

    SLF4J (Simple Logging Facade for Java) 是一个用于各种日志框架的简单抽象,例如java.util.logging、Logback 和 Log4j。它的主要目的是为应用程序提供一个可插入的日志接口,允许最终用户在部署时插入所需的日志库...

    slf4j-log4j相关jar

    SLF4J-log4j12-1.7.25.jar是SLF4J和Log4j之间的桥接器,它的作用是将SLF4J的API转换为Log4j的具体实现。当项目中同时存在SLF4J接口和Log4j实现时,这个桥接器使得SLF4J能够调用到Log4j的实现,实现日志记录功能。 ...

    slf4j1.5.8,log4j1.2.15

    3. **避免版本冲突**:不同版本的SLF4J和Log4j可能不兼容,所以要确保所有相关库的版本协调一致。 4. **使用SLF4J API编程**:在代码中,你应该只引用SLF4J的接口,而不是直接使用Log4j的类。这样,如果将来需要...

    log4j各版本jar包

    使用Log4j时,我们需要在项目中引入对应的jar包,这可以通过Maven、Gradle等构建工具实现。在配置文件(通常是log4j.properties或log4j.xml)中,我们可以设置日志级别(DEBUG、INFO、WARN、ERROR等)、输出目的地...

    SLF4J日志报错解决办法

    处理slf4j日志使用的基本错误,导入三个包,分别是slf4j-impl,slf4j-api和slf4j-log4j12

    slf4j-log4j-1.6.1应用jar的包集合

    SLF4J-Log4j绑定包集合通常包含以下几个核心组件: 1. **slf4j-api.jar**:这是SLF4J的核心API,它定义了一组用于日志记录的接口。这些接口包括`org.slf4j.Logger`和`org.slf4j.LoggerFactory`,它们提供了不同级别...

    slf4j的jar包(54个)

    在使用这些jar包时,通常只需要slf4j-api.jar和一个绑定库(如slf4j-log4j12.jar)。其他jar包可以根据项目需求进行选择。同时,为了避免版本冲突,需要确保所有依赖项中的SLF4J版本一致。如果多个绑定库同时存在,...

    Slf4j+log4j2.docx

    SLF4J(Simple Logging Facade for Java)是Java的日志抽象层,它提供了一种标准的接口,允许用户在不修改代码的情况下更换不同的日志框架,如Log4j、Logback等。Log4j2是Log4j的升级版,提供了更优秀的性能和更多的...

    slf4j-log4j12-1.6.1.jar+slf4j-api-1.6.1.jar

    SLF4J(Simple Logging Facade for Java)和Log4j是Java开发中常用的日志处理框架,它们在构建SSH(Struts、Spring、Hibernate)和MVC(Model-View-Controller)架构的Web应用程序时扮演着至关重要的角色。...

    slf4j 所需要的jar包

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它为各种日志框架提供了一个统一的API,如Log4j、Java Util Logging、Logback等。这样,开发者可以在不修改代码的情况下更换底层的日志实现。SLF...

    slf4j-log4j12-1.5.8.jar

    这个绑定包的作用是桥接SLF4J接口与Log4j的具体实现,使得SLF4J的日志调用可以通过Log4j进行输出。 描述中提到的`java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder`是一个常见的错误,通常发生...

    slf4j所需要的所有jar文件集合

    4. **slf4j-log4j12-1.5.2.jar**:这是SLF4J的一个绑定实现,将SLF4J的日志请求转发到Log4j 1.2框架。Log4j是一个广泛使用的日志框架,具有丰富的配置选项和强大的功能。如果你的应用使用了这个JAR,那么日志将会...

    slf4j相关jar包

    3. **slf4j-log4j12-1.6.6.jar**:这个jar包是SLF4J与Log4j之间的桥接器,它允许SLF4J调用Log4j进行日志记录。如果你的项目已经使用了Log4j作为日志系统,这个桥接器可以帮助你无缝地集成SLF4J。 4. **slf4j.jar**...

    slf4j-api.jar和slf4j-nop.jar打包下载

    SLF4J(Simple Logging Facade for Java)是Java中一个重要的日志抽象层,它为各种日志框架,如Log4j、java.util.logging、Logback等提供了一个统一的接口。通过SLF4J,开发者可以在不修改代码的情况下更换底层的...

Global site tag (gtag.js) - Google Analytics