2012-11-08 53 views
8

我有以下build.sbt文件:如何禁用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" 
) 

如何啓用爲我自己(當前)項目DEBUG級別的報告,但禁用另一。在這種情況下,我不想看到Slick庫的調試輸出,但仍然希望查看我自己項目的調試日誌記錄。

+0

在log4j.xml中,您可以爲每個庫配置日誌級別。 – Rajesh

回答

5

在你logback.xml添加一個條目是這樣的:

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

這意味着,當通過任何類的命名空間com.typesafe.slick獲得的記錄它會INFO集日誌級別。

編輯:這是鏈接到documentation

+0

很感謝。我這樣做,它的工作。我只是希望能夠將課程粒度記錄包含/排除作爲SBT設置的一部分,以避免在不同文件中傳播設置。例如,在SBT中,你設置運行級別,例如,測試或運行時,並且以同樣的方式,只要告訴它爲庫設置日誌級別就不錯了。 – Jack

+0

我不認爲這是可能的。設置日誌級別是運行時配置,但sbt只能影響編譯時間。你也必須有一個logback.xml,所以我沒有看到增加更多東西到構建文件的好處。 – drexin

+0

我想這取決於你使用SBT的方式。將logback.xml文件的名稱和位置設置爲SBT配置的一部分並不少見,它可用於實現所需的效果。我只是希望簡化我的設置。 – Jack