web-dev-qa-db-fra.com

SLF4J: Le chemin de classe contient plusieurs liaisons SLF4J. message imprimé sur la console

Je souhaite imprimer les journaux sur la console et également les écrire dans un fichier. Dans mon scala utilisant des enregistreurs akka, voici mon 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")

et voici une partie de mon code

import akka.event.Logging

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

quand j'exécute mon programme dans sbt suivant le message imprimé

SLF4J: Le chemin de classe contient plusieurs liaisons SLF4J. SLF4J: Liaison trouvée dans [jar: fichier:/home/sara/.ivy2/cache/org.slf4j/slf4j - simple/jars/slf4j - simple - 1.7.12.jar!/Org/slf4j/impl/StaticLoggerBinder.class ] SLF4J: Liaison trouvée dans [jar: fichier:/home/sara/.ivy2/cache/ch.qos.logback/logback - classic/jars/logback - classic - 1.0.9.jar!/Org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Voir http: //www.slf4j.org/codes.html#multiple_bindings pour une explication. SLF4J: la liaison réelle est de type [org.slf4j.impl.SimpleLoggerFactory] [ArteciateActorSystem - akka.actor. default -dispatcher - 3] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger a démarré [ArteciateActorSystem - akka.actor. default -dispatcher - 2] INFO models.AdminUserModels.AdminUserModelsActors.RegularAdminWriteMongoActor - message reçu RegularAdminWriteInMongo

après cela, mes autres instructions println sont imprimées, veuillez m'aider à arrêter d'afficher ce message, veuillez également ne pas marquer ma question comme dupliquée comme cela a été demandé avant que je ne l'examine, mais cela ne résout pas mon problème .. merci d'aide merci

10
swaheed

Le message d'erreur vous indique déjà tout ce que vous devez savoir. Le lien fourni dans le message ( http://www.slf4j.org/codes.html#multiple_binding ) dit:

L'API SLF4J est conçue pour se lier à une et une seule infrastructure de journalisation sous-jacente à la fois. Si plusieurs liaisons sont présentes sur le chemin de classe, SLF4J émet un avertissement, répertoriant l'emplacement de ces liaisons.

Votre chemin de classe comprend deux liaisons pour SLF4J:

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

et

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

Assurez-vous qu'il n'y a qu'une seule liaison sur votre chemin de classe et l'avertissement ne s'affichera plus.

Pour résumer: Supprimez slf4j-simple de vos dépendances, logback-classic suffit.

27
sheltem