2011-06-25 15 views
5

का उपयोग करके लिफ्ट में डिबगिंग और लॉगिंग एसबीटी का उपयोग कर लिफ्ट में काम कर रहे मूल लॉगिंग और डिबगिंग करने की कोशिश कर रहा हूं। मैं एक संपादक के रूप में ग्रहण का उपयोग कर रहा हूं लेकिन एसबीटी के साथ सभी संकलन कर रहा हूं। क्या कोई सुझाव दे सकता है कि एसबीटी कंसोल पर डीबग कथन/लॉगिंग कैसे प्रिंट करें?एसबीटी

उत्तर

5

आप Logback साथ प्रवेश करना चाहते हैं, तो आप src/main/resources/props/default.logback.xml नाम के एक बुनियादी xml फ़ाइल बनाने की जरूरत (फ़ाइल नाम विकास और निर्माण वातावरणों प्रतिबिंबित करने के लिए अलग हो सकता है, लेकिन हम इसे सरल रखने करेंगे)।

इस फ़ाइल में एक बुनियादी विन्यास जो कंसोल के लिए प्रवेश करेंगे लगता है:

<configuration> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <root level="debug"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

(अधिक उदाहरण Logback manual में पाया जा सकता है।)

इसके बाद, आप जोड़ने की आवश्यकता होगी निर्भरता

"ch.qos.logback" % "logback-classic" % "0.9.26" 

आपके एसबीटी कॉन्फ़िगरेशन में।

अंत में, यदि आप एक वर्ग से प्रवेश करना चाहते हैं, विशेषता Logger में मिश्रण है और आप सभी debug, info, warn, ... दायरे में तरीकों मिलता है।

class SomeClass extends SomeOtherClass with Logger { 
    debug("Class initialised.") 
} 

या, वैकल्पिक रूप से Loggable में मिश्रण है जो आपके नामस्थान को दूषित नहीं करता है और केवल एक logger प्रॉक्सी तरीका प्रदान करता है।

class SomeClass extends SomeOtherClass with Loggable { 
    logger.debug("Class initialised.") 
} 

अधिक जानकारी के लिए, Lift wiki पर एक नजर है।

+0

आपको बहुत बहुत धन्यवाद! – Santiago

1

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