我想在控制台上打印日志并将它们写入文件中。在我使用 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 中运行我的程序时打印以下消息



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

最佳答案

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



您的类路径包括 SLF4J 的两个绑定(bind):







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

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

关于logging - SLF4J:类路径包含多个 SLF4J 绑定(bind)。控制台上打印的消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29671133/

10-16 18:52