2013-05-14 12 views
9

मैं एसबीटी के डीबग संदेशों को कैसे दबा सकता हूं?एसबीटी डीबग आउटपुट को दबाकर

$ cat src/main/scala/Hello.scala 
object Hello { 
    def main(args: Array[String]) { 
    Console.println("Hello sbt") 
    } 
} 

$ sbt run > out.txt 

$ cat out.txt 
[info] Set current project to hello (in build file:/home/synapse/projects/algs2/) 
[info] Running Hello 
Hello sbt 
[success] Total time: 1 s, completed May 14, 2013 11:39:23 PM 
+1

क्या तुमने कभी एक समाधान मिला? मैं इसके साथ भी संघर्ष कर रहा हूं। – dcb

+1

संभावित डुप्लिकेट [एसबीटी में जानकारी और सफलता संदेश कैसे दबाएं?] (Http://stackoverflow.com/questions/9968300/how-to-suppress-info-and-success-messages-in-sbt) –

उत्तर

1

आप वर्णित here के रूप में लॉगिंग स्तर को बदल सकते हैं: वे तो एक परियोजना चल stdout करने के लिए लॉग इन कर रहे इस पैदा करता है। तो तुम Warn लिए लॉगिंग स्तर बदल सकते हैं:

> run 
[info] Running Server 
Port is: null 
Embedded server running on port 8080. Press any key to stop. 

[success] Total time: 3 s, completed 14-May-2013 21:02:31 
> 
> set logLevel in run := Level.Warn 
... 
[info] Reapplying settings... 
[info] Set current project to server (in build file:/Users/me/myproject/) 
> run 
Port is: null 
Embedded server running on port 8080. Press any key to stop. 

और तुम अब run आदेश के लिए मुद्रित जानकारी संदेशों मिलता है। आप इसे स्थायी बनाने के लिए अपनी बिल्ड फ़ाइल में सेटिंग जोड़ सकते हैं।

+7

बिल्ड .sbt में एक सिंगल लाइन लॉगेलवेल शामिल है: = Level.Error और sbt रन अभी भी जानकारी और सफलता संदेश आउटपुट करता है – synapse

6

जैसा कि this reference में उल्लिखित है, दूसरे उत्तर से भी जुड़ा हुआ है, एसबीटी कंसोल पर पहुंचने से पहले लॉगिंग स्तर को बदलना संभव है।

"स्टार्टअप पर किसी भी आदेश को निष्पादित करने से पहले लॉगिंग स्तर सेट करने के लिए, लॉगिंग स्तर से पहले -- का उपयोग करें।"

उदाहरण

$ sbt --error "runMain my.pckg.Main" 

के लिए आप अभी भी [success] संदेश अंत में लॉग इन किया पाने हालांकि। इसे शांत करने के लिए, grep -v में पाइपिंग पर विचार करें।

+0

''सफलता]' को 'showSuccess: = false' को'' build.sbt' में जोड़कर निकाल दिया जा सकता है। –

0

आप ग्लोबल एसबीटी गुणों में लॉग लेवल गुण जोड़ सकते हैं। यह एसबीटी संस्करण 1.x के लिए काम करता

फ़ाइल: ~/.sbt/1.0/global.sbt
logLevel := Level.Warn 

shellPrompt := { state => 
    "sbt (%s)> ".format(Project.extract(state).currentProject.id) 
} 
संबंधित मुद्दे