我创建了一个示例java项目,其中包含servlet和servlet代码,其中包含用于打印日志消息的日志条目。我正在使用SLF $ j来打印servlet中的日志。整个项目是作为“sampleProject.jar”文件制作的,没有manifest.mf文件。我在其他项目中使用此jar文件,该项目在tomcat(Web应用程序)上运行。如果我运行这个 来自tomcat的web-application包含“sampleProject.jar”。我无法看到我在servet代码中写入的日志消息(来自jar)但应用程序正在按预期工作而不打印日志。 通过上面的设置,我无法看到打印的日志,这就是为什么我用appender创建log4j.properties文件作为控制台和文件,并将绑定库(log4j.jar,slf4j-logfj12.jar)与slf4j一起放置。现在我再次使用其他更改创建了jar文件。现在我也无法打印日志,我在控制台中收到以下错误。
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.
请通过查看上述说明来指导我是否做错了。
我是否错误地创建了sampleProject.jar? 为什么我得到上述错误,即使我放置了所需的绑定?
答案 0 :(得分:0)
您的类路径 slf4j-nop.jar,slf4j-simple.jar,slf4j-log4j12.jar,slf4j-jdk14.jar或logback-classic.jar 中是否有其中一个文件?
请阅读SLF4J文档:http://www.slf4j.org/codes.html#StaticLoggerBinder
无法加载类org.slf4j.impl.StaticLoggerBinder
org.slf4j.impl.StaticLoggerBinder时会报告此错误 class无法加载到内存中。没有时会发生这种情况 可以在类路径上找到适当的SLF4J绑定。配售 一个(也是唯一一个)slf4j-nop.jar,slf4j-simple.jar, slf4j-log4j12.jar,slf4j-jdk14.jar或类中的logback-classic.jar 路径应该解决问题。
SINCE 1.6.0从SLF4J版本1.6开始,在 如果没有绑定,SLF4J将默认为无操作(NOP) 记录器实现。
您可以从中下载SLF4J绑定 项目下载页面。