2012-11-08 42 views
8

मैं निम्नलिखित build.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" 
) 

कैसे मैं अपने खुद के (वर्तमान) परियोजना के लिए डीबग स्तर रिपोर्टिंग सक्षम है, लेकिन किसी अन्य के लिए इसे अक्षम है। इस मामले में मैं स्लिक लाइब्रेरी के डीबग आउटपुट को नहीं देखना चाहता, लेकिन फिर भी अपनी परियोजना के लिए डीबग लॉगिंग देखना चाहता हूं।

+0

log4j.xml में आप प्रत्येक लाइब्रेरी के लिए लॉग स्तर कॉन्फ़िगर कर सकते हैं। – Rajesh

उत्तर

5

अपने logback.xml में इस तरह एक प्रविष्टि जोड़ें:

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

इसका मतलब यह है, कि यह लॉग स्तर के रूप में INFO सेट करना होगा जब एक लकड़हारा नाम स्थान com.typesafe.slick के किसी भी वर्ग द्वारा प्राप्त की है।

संपादित करें: यहां documentation का लिंक दिया गया है।

+0

कूल धन्यवाद। मैंने ऐसा किया और यह काम करता है। मैं बस उम्मीद कर रहा था कि अलग-अलग फाइलों में सेटिंग्स फैलाने से बचने के लिए एसबीटी सेटअप के हिस्से के रूप में पाठ्यक्रम में दाग लॉगिंग समावेशन/बहिष्करण रखना संभव था। उदाहरण के लिए, एसबीटी में आप रनलेवल सेट करते हैं उदा। परीक्षण, या रनटाइम, और उसी तरह से यह पुस्तकालय के लिए लॉग स्तर सेट करने के लिए बस यह कहना अच्छा होगा। – Jack

+0

मुझे नहीं लगता कि यह संभव है। लॉग स्तर सेट करना रनटाइम कॉन्फ़िगरेशन है, लेकिन एसबीटी केवल संकलन समय को प्रभावित कर सकता है। इसके अलावा आपको लॉगबैक.एक्सएमएल भी होना चाहिए, इसलिए मुझे बिल्ड फ़ाइल में और सामान जोड़ने का लाभ नहीं दिख रहा है। – drexin

+0

मुझे लगता है कि यह एसबीटी का उपयोग करने के तरीके पर निर्भर करता है। एसबीटी कॉन्फ़िगरेशन के हिस्से के रूप में logback.xml फ़ाइल का नाम और स्थान सेट करना असामान्य नहीं है, जिसका उपयोग वांछित प्रभाव प्राप्त करने के लिए किया जा सकता है। मैं बस अपने सेटअप को थोड़ा सा सरल बनाने की उम्मीद कर रहा था। – Jack