2015-04-16 4 views
9

Я хочу печатать журналы на консоли, а также записывать их в файл. В моем проекте, используя лестницу AKKA регистраторов вот моего build.sbtSLF4J: Путь класса содержит несколько привязок SLF4J. сообщение, напечатанное на консоли

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/impl/StaticLoggerBinder .class] SLF4J: Найдено привязка в [jar: file: /home/sara/.ivy2/cache/ch.qos.logback/logback - classic/jars /logback - classic - 1.0.9.jar!/org/slf4j/impl/ StaticLoggerBinder.class] SLF4J: см. http: //www.slf4j.org/codes.html#multiple_bindings для объяснения. SLF4J: Фактическое связывание имеет тип [org.slf4j.impl.SimpleLoggerFactory] [ArteciateActorSystem - akka.actor. default -dispatcher - 3] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger запущен [ArteciateActorSystem - akka.actor. по умолчанию -dispatcher - 2] INFO models.AdminUserModels.AdminUserModelsActors.RegularAdminWriteMongoActor - сообщение, полученное RegularAdminWriteInMongo

после того, что другие мои Println заявления напечатаны, пожалуйста, помогите мне, как остановить показ этого сообщения, а также, пожалуйста, не отметьте мой вопрос как дубликат, поскольку его спросили, прежде чем я просмотрел его, но он не решает мою проблему. Пожалуйста, помогите спасибо

ответ

25

Сообщение об ошибке уже сообщает вам все, что вам нужно знать. Ссылка, содержащаяся в сообщении (http://www.slf4j.org/codes.html#multiple_binding), говорит:

API SLF4J предназначен для привязки только к одной базовой структуре ведения журнала. Если в пути класса присутствует более одного привязки, 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 достаточно.

Смежные вопросы