我的应用程序将部署在tcServer和WebSphere 6.1上。这个应用程序使用ehCache,因此需要slf4j作为依赖项。
因此,我将slf4j-api.jar (1.6) jar添加到war文件包中。
应用程序在tcServer中正常工作,除了以下错误:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
然而,当我在WebSphere中部署时,我得到了一个java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder。
同时伴有加载类“org.slf4j.impl.StaticMDCBinder”失败
我已经检查了两个应用服务器的类路径,没有其他slf4j jar。
有人知道这里会发生什么吗?
Slf4j是底层日志框架(如log4j、logback、java.util.logging)的门面。
为了连接底层框架,slf4j使用了绑定。
log4j - slf4j-log4j12-1.7.21.jar
java.util.logging – slf4j-jdk14-1.7.21.jar etc
如果没有绑定jar,就会抛出上述错误。您可以下载这个jar并将其添加到类路径中。
对于maven依赖,
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
除了slf4j-log4j12-1.7.21.jar之外,这个依赖项还将slf4j-api-1.7.21.jar以及log4j-1.2.17.jar拉到您的项目中
参考:http://www.slf4j.org/manual.html
当我得到以下错误时,我陷入了这个问题:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
当我在我的库中使用slf4j-api-1.7.5.jar。
尽管我尝试了整个建议的补充jar,如slf4j-log4j12-1.7.5.jar, slf4j-simple-1.7.5,但错误消息仍然存在。当我将slf4j-jdk14-1.7.5.jar添加到java库中时,这个问题最终得到了解决。
在http://www.slf4j.org/download.html上获得整个slf4j包
Slf4j是底层日志框架(如log4j、logback、java.util.logging)的门面。
为了连接底层框架,slf4j使用了绑定。
log4j - slf4j-log4j12-1.7.21.jar
java.util.logging – slf4j-jdk14-1.7.21.jar etc
如果没有绑定jar,就会抛出上述错误。您可以下载这个jar并将其添加到类路径中。
对于maven依赖,
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
除了slf4j-log4j12-1.7.21.jar之外,这个依赖项还将slf4j-api-1.7.21.jar以及log4j-1.2.17.jar拉到您的项目中
参考:http://www.slf4j.org/manual.html