当前位置: 首页 > 知识库问答 >
问题:

SLF4J:类路径包含多个SLF4J绑定。控制台上打印的消息

吴高峰
2023-03-14

我想在控制台打印日志,也写在一个文件中。在我使用akka记录器的scala项目中,这里是我的build.sbt

libraryDependencies ++= Seq("org.mongodb" %% "casbah" % "2.8.0",
                            "org.slf4j" % "slf4j-simple" % "1.7.12",
                            "org.elasticsearch" % "elasticsearch" % "1.5.0",
                            "org.scalatest" %% "scalatest" % "2.2.1" % "test"
                        withSources() withJavadoc(),
                        "org.easymock" % "easymock" % "3.1" withSources() withJavadoc(),
                        "org.mockito" % "mockito-all" % "1.9.5",
                        "com.typesafe.akka" %% "akka-actor" % "2.3.6",
                        "ch.qos.logback" % "logback-classic" % "1.0.9",
                        "com.typesafe.akka" %% "akka-slf4j" % "2.3.9")

这是我代码的一部分

import akka.event.Logging

val log = Logging(context.system, this)
case RegularAdminWriteInMongo =>
    log.debug("writing to mongo")
    log.info("message received RegularAdminWriteInMongo")

当我运行我的程序在sbt以下的消息打印

SLF4J:类路径包含多个SLF4J绑定。slf4j:在[jar:file:/home/sara/.ivy2/cache/org.slf4j/slf4j-simple/jars/slf4j-simple-1.7.12.jar!/org/slf4j/imple/staticloggerbinder.class]中找到绑定slf4j:在[jar:file:/home/sara/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.0.9.jar!/org/slf4j/imple/staticloggerbinder.class]SLF4J:实际绑定的类型为[org.slf4j.impl.simpleLoggerFactory][arteciateActorSystem-akka.actor.default-dispatcher-3]信息akka.event.slf4j.Slf4jLogger-Slf4jLogger-Slf4jLogger启动[arteciateActorSystem-akka.actor.default-dispatcher-2]信息models.adminusermodels.adminusermodelsactors.regularadminwritemongoactor-接收到的消息

在我的其他println语句被打印出来之后,请帮助我如何停止显示此消息,也请不要将我的问题标记为重复的,因为它是在我查看之前问的,但它并不能解决我的问题。请帮助,谢谢

共有1个答案

丰辰沛
2023-03-14

错误消息已经告诉了您需要知道的一切。消息中提供的链接(http://www.slf4j.org/codes.html#multiple_binding)说:

SLF4J API被设计为一次绑定一个且仅绑定一个底层html" target="_blank">日志记录框架。如果类路径上存在多个绑定,SLF4J将发出警告,列出那些绑定的位置。

类路径包括SLF4J的两个绑定:

/home/sara.ivy2/cache/org.slf4j/slf4j-simple/jars/slf4j-simple-1.7.12.jar

而且

/home/sara/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.0.9.jar

确保您的类路径上只有一个绑定,并且不会再次显示警告。

总结一下:从依赖项中删除slf4j-simple,logback-classic就足够了。

 类似资料: