【问题标题】:PlayFramework 2.5: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"PlayFramework 2.5:SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”
【发布时间】:2016-10-04 14:05:33
【问题描述】:

我在 sbt 中添加了一个库依赖项

"org.slf4j" % "slf4j-simple" % "1.7.12"

为了解决:

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.

它确实出现在sbt show libraryDependencies的输出中:

[info] List(org.scala-lang:scala-library:2.11.7, com.typesafe.play:twirl-api:1.1.1, com.lihaoyi:utest:0.3.1, org.scala-lang:scala-compiler:2.11.7, com.typesafe.play:play-json:2.5.3, com.github.pathikrit:better-files:2.14.0, org.apache.commons:commons-math3:3.5, commons-io:commons-io:2.5, com.typesafe.play:play:2.5.3, com.typesafe.play:play-netty-server:2.5.3, com.typesafe.play:play-ws:2.5.3, com.thenewmotion.akka:akka-rabbitmq:2.3, org.slf4j:slf4j-simple:1.7.12)

但是问题仍然存在。 可能是什么?

还要提一下,在相关进程的ps 的输出中,slf4j-simple 没有显示。

Play 2.5 introduced logging changes,我将 play 用作库而不是框架插件,所以我必须模仿所需的配置——需要替换顶部显示的 NOP 日志记录默认值以确保正确的日志记录。我怎样才能弄清到底发生了什么?

我看过几个类似的问题,但它们并没有以任何直接的方式推断出这个问题。

【问题讨论】:

  • 我看过几个类似的问题,但它们并没有以任何直接的方式推断出这个问题。这个问题也有一些突出的具体细节。
  • 我对 SBT 或 Scala 不是很熟悉,但听起来确实像在您的运行时类路径中,slf4j-simple jar 不存在,即使您期望它存在。也许它在编译时存在但在运行时不存在?
  • @matanster 你能告诉我们你的日志库的 XML 配置吗?

标签: scala playframework sbt


【解决方案1】:

将此依赖项添加到build.sbt。它对我有用:

libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3"

更多关于logback:http://logback.qos.ch/

【讨论】:

    【解决方案2】:

    Play 是一个 sbt 插件,这个错误很可能发生在插件而不是你的应用程序中。因此,将其添加到应用程序中的 libraryDependencies 不会解决它。

    尝试将其添加到project/plugins.sbt,如下所示:

    libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.12"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多