2012-11-08 7 views
8

Ich habe folgende build.sbt Datei:Wie deaktiviere ich die Protokollierung für eine bestimmte Abhängigkeit in SBT?

version := "0.1" 

scalaVersion := "2.10.0-RC1" 

scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8") 

resolvers ++= Seq(
    "sonatype releases" at "https://oss.sonatype.org/content/repositories/releases/", 
    "sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/", 
    "typesafe repo" at "http://repo.typesafe.com/typesafe/releases/", 
    "spray repo" at "http://repo.spray.io/" 
) 

libraryDependencies ++= Seq(
    "io.spray"   % "spray-can"   % "1.1-M4.2" 
    ,"io.spray"   % "spray-routing"  % "1.1-M4.2" 
    ,"io.spray"   % "spray-testkit"  % "1.1-M4.2" 
    ,"io.spray"   %% "spray-json"  % "1.2.2"  cross CrossVersion.full 
    ,"com.typesafe.akka" %% "akka-actor"  % "2.1.0-RC1" cross CrossVersion.full 
    ,"org.specs2"  %% "specs2" % "1.12.2" % "test"  cross CrossVersion.full 
    ,"com.typesafe"  % "slick_2.10.0-RC1" % "0.11.2" 
    ,"com.h2database" % "h2"    % "1.3.166" 
    ,"org.xerial"  % "sqlite-jdbc"  % "3.6.20" 
    ,"org.slf4j"   % "slf4j-api"   % "1.6.4" 
    ,"ch.qos.logback" % "logback-classic" % "1.0.7" 
    ,"org.specs2"  % "specs2_2.10.0-RC1" % "1.12.2" % "test" 
    ,"junit"    % "junit"    % "4.8.1"  % "test" 
) 

Wie kann ich DEBUG-Level-Reporting für mein eigenes (das aktuelle) Projekt, ermögliche aber für eine andere deaktivieren. In diesem Fall möchte ich die Debug-Ausgabe der Slick-Bibliothek nicht sehen, möchte aber dennoch die Debug-Protokollierung für mein eigenes Projekt sehen.

+0

In log4j.xml können Sie die Protokollebene für jede Bibliothek konfigurieren. – Rajesh

Antwort

5

In Ihrem logback.xml einen Eintrag wie folgt hinzu:

<logger name="com.typesafe.slick" level="INFO"/> 

Das bedeutet, dass, wenn ein Logger von jeder Klasse des Namensraums erhalten wird com.typesafe.slick es INFO Satz als Protokollebene haben wird.

bearbeiten: Hier ist der Link zu der documentation.

+0

Cool danke. Ich habe das getan und es funktioniert. Ich hatte nur gehofft, dass es möglich ist, im Rahmen des SBT-Setups protokollierte Einschlüsse/Ausschlüsse zu erhalten, um zu vermeiden, dass Einstellungen in verschiedenen Dateien verteilt werden. In SBT legen Sie z. B. den Runlevel z. Test oder Runtime, und auf die gleiche Weise wäre es schön gewesen, es einfach zu sagen, dass es die Log-Ebene für eine Bibliothek setzt. – Jack

+0

Ich glaube nicht, dass das möglich ist. Die Protokollierungsstufe ist die Laufzeitkonfiguration, aber sbt kann nur die Kompilierungszeit beeinflussen. Außerdem musst du sowieso eine logback.xml haben, daher sehe ich keinen Vorteil darin, der Build-Datei mehr Sachen hinzuzufügen. – drexin

+0

Ich nehme an, es hängt davon ab, wie Sie SBT verwenden. Es ist nicht ungewöhnlich, den Namen und den Speicherort der logback.xml-Datei als Teil der SBT-Konfiguration festzulegen, mit der der gewünschte Effekt erzielt werden kann. Ich hatte nur gehofft, mein Setup ein wenig zu vereinfachen. – Jack