3

我创建了一个包含所有依赖项的 jar 文件,并使用 slf4j + logback 实现了日志记录。因此,我logback.xml为所有记录器定义了一个文件。但是,当我运行 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.

我没有看到任何日志记录发生。解压 jar 文件后,可以看到 org.slf4j 文件夹。我不知道为什么这不起作用。

4

3 回答 3

3

来自http://www.slf4j.org/codes.html#StaticLoggerBinder(消息中的链接):

org.slf4j.impl.StaticLoggerBinder 类无法加载到内存时会报此错误。当在类路径上找不到合适的 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 绑定。

换句话说,你的类路径中需要一个 slf4j 后端,例如 logback。

于 2012-11-02T12:30:36.573 回答
2

类路径中似乎logback-classic.jar缺少它。

看看http://slf4j.org/manual.html#swapping

于 2012-10-30T05:50:22.777 回答
0

这是一个scala项目吗?如果是,那么添加以下依赖项将有所帮助。它对我有用。

 "org.slf4j" % "slf4j-simple" % "1.7.12"
于 2016-05-10T08:53:06.927 回答