2012-11-08 16 views
8

Ho il seguente file build.sbt:Come disabilitare la registrazione per una dipendenza specifica 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" 
) 

Come faccio ad attivare rapporti livello di debug per il mio (attuale) del progetto, ma a disattivare per un altro. In questo caso non voglio vedere l'output di debug della libreria Slick, ma voglio comunque vedere la registrazione di debug per il mio progetto.

+0

In log4j.xml è possibile configurare il livello di registro per ciascuna libreria. – Rajesh

risposta

5

Nella vostra logback.xml aggiungere una voce come questa:

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

Questo significa, che quando un logger è ottenuto per qualsiasi classe di spazio dei nomi com.typesafe.slick avrà INFO insieme come livello di log.

modifica: questo è il collegamento allo documentation.

+0

Cool grazie. L'ho fatto e funziona. Speravo solo che fosse possibile mantenere inclusioni/esclusioni di registrazione granulose come parte del setup SBT per evitare di diffondere le impostazioni in file diversi. Ad esempio, in SBT si imposta il runlevel ad es. test, o runtime, e allo stesso modo sarebbe stato bello semplicemente dirgli di impostare il livello di log per una libreria. – Jack

+0

Non penso sia possibile. L'impostazione del livello di log è la configurazione di runtime, ma sbt può influire solo sul tempo di compilazione. Inoltre, devi comunque avere un logback.xml, quindi non vedo il vantaggio di aggiungere altre cose al file di build. – drexin

+0

Suppongo che dipenda dal modo in cui si usa SBT. Non è insolito impostare il nome e il percorso del file logback.xml come parte della configurazione di SBT, che può essere utilizzato per ottenere l'effetto desiderato. Speravo solo di semplificare un po 'il mio setup. – Jack