2015-04-16 13 views
9

Ich möchte Protokolle auf der Konsole drucken und auch in eine Datei schreiben. In meinem scala Projekt Akka Logger hier ist mein build.sbtSLF4J: Klassenpfad enthält mehrere SLF4J-Bindungen. Nachricht gedruckt auf der Konsole

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") 

und hier ist ein Teil meines Codes

import akka.event.Logging 

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

wenn ich laufe mein Programm in sbt folgenden Meldung mit gedruckt

SLF4J: Klassenpfad enthält mehrere SLF4J-Bindungen. SLF4J: Gefunden Bindung in [jar: Datei:/home/sara/.ivy2/Cache/org.slf4j/slf4j - einfach/jars/slf4j - einfach - 1.7.12.jar!/Org/slf4j/impl/StaticLoggerBinder .class] SLF4J: Gefundene Bindung in [jar: Datei: /home/sara/.ivy2/cache/ch.qos.logback/logback - classic/jars /logback - classic - 1.0.9.jar!/org/slf4j/impl/ StaticLoggerBinder.class] SLF4J: Eine Erläuterung finden Sie unter http: //www.slf4j.org/codes.html#multiple_bindings. SLF4J: Die tatsächliche Bindung ist vom Typ [org.slf4j.impl.SimpleLoggerFactory] [ArteciateActorSystem - akka.actor. default -dispatcher - 3] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger gestartet [ArteciateActorSystem - akka.actor. Standard -dispatcher - 2] INFO models.AdminUserModels.AdminUserModelsActors.RegularAdminWriteMongoActor - Nachricht empfangen RegularAdminWriteInMongo

danach meine anderen println Aussagen gedruckt sind, bitte helfen Sie mir, wie auch Sie stoppen diese Meldung angezeigt wird, nicht markiere meine Frage als Duplikat, wie sie schon einmal gefragt wurde, bevor ich sie angeschaut habe, aber sie löst nicht mein Problem ... bitte hilfe danke

Antwort

25

Die Fehlermeldung sagt dir schon alles, was du wissen musst. Der in der Nachricht (http://www.slf4j.org/codes.html#multiple_binding) angegebene Link lautet:

Die SLF4J-API wurde entwickelt, um mit jeweils einem zugrunde liegenden Protokollierungsframework zu verknüpfen. Wenn mehr als eine Bindung im Klassenpfad vorhanden ist, gibt SLF4J eine Warnung aus, die den Speicherort dieser Bindungen auflistet.

Ihr Classpath enthält zwei Bindungen für SLF4J:

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

und

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

Vergewissern Sie sich, dass nur eine Bindung für Ihren Klassenpfad vorhanden ist, und die Warnung wird nicht erneut angezeigt.

Zusammenzufassen: Entfernen Sie Slf4j-einfach aus Ihren Abhängigkeiten, Logback-Klassiker ist genug.

Verwandte Themen