2012-09-16 14 views
6

मैं slf4j में लॉगबैक के साथ एक कंसोल लॉगर स्थापित करने का प्रयास कर रहा हूं। मेरे logback विन्यास इस प्रकार है:Logback.xml ConsoleAppender पर लॉग इन नहीं कर रहा है?

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoders are assigned the type 
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> 
    </encoder> 
    </appender> 

    <logger name="org.hibernate" level="INFO" /> 
    <logger name="com.myapp" level="TRACE" /> 

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

हालांकि Logback कोई समस्या नहीं के साथ स्थापित करने के लिए लगता है, मैं अपने कंसोल में किसी भी वालों से आउटपुट प्राप्त नहीं कर पा रहे। मैंने परीक्षण किया है कि LOGGER.isInfoEnabled() मेरे ऐप में सच है।

Logback के StatusPrinter के उत्पादन:

17:25:11,736 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 
17:25:11,737 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/Users/ryanspicer/NetBeansProjects/Oncewhen/build/classes/logback.xml] 
17:25:11,996 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set 
17:25:11,996 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 
17:25:12,000 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT] 
17:25:12,038 |-ERROR in [email protected]:74 - no applicable action for [encoder], current pattern is [[configuration][appender][encoder]] 
17:25:12,038 |-ERROR in [email protected]:16 - no applicable action for [pattern], current pattern is [[configuration][appender][encoder][pattern]] 
17:25:12,038 |-ERROR in ch.qos.logback.core.ConsoleAppender[STDOUT] - No layout set for the appender named "STDOUT". 
17:25:12,038 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Popping appender named [STDOUT] from the object stack 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.hibernate] to INFO 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.hibernate] to true 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.myapp] to TRACE 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.myapp] to true 
17:25:12,038 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG 
17:25:12,038 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[root] 
कोई भी विचार

यहाँ क्या हो रहा हो सकता है, और इसे कैसे ठीक और लॉग उत्पादन काम कर पाने के लिए?

उत्तर

3

स्थिति आउटपुट से, ऐसा लगता है कि आप लॉगबैक 0.9.18 या इससे पहले के संस्करण का उपयोग कर रहे हैं। आपको नवीनतम संस्करण के साथ प्रयास करना चाहिए।

+1

मैं क्योंकि यह मुझे वास्तविक समस्या की राह पर डाल दिया यह स्वीकार करने कर रहा हूँ पुराना लॉगबैक जार, जो slf4j को भ्रमित कर रहा था। मेरे प्रोजेक्ट के अंदर नवीनतम लॉगबैक और एसएलएफ 4 जे में अपडेट करने के बाद, मैं सही लॉगबैक से जुड़ने के लिए slf4j को सहूल करने में सक्षम था, और सब ठीक थे। – Alterscape

+0

मैं लॉगबैक के नवीनतम संस्करण (1.0.9) का उपयोग कर रहा हूं और मैं अभी भी इन ERROR संदेशों को देख रहा हूं। कोई विचार क्यों हो सकता है? धन्यवाद। यूजेन। – Eugen

+0

लॉगबैक-क्लासिक.जर और लॉगबैक-कोर.जर का संस्करण मेल खाना चाहिए। – Ceki

1

उन लोगों के लिए जिन्हें तीसरे पक्ष निर्भरताओं के कारण लॉगबैक 0.9.18 का उपयोग करने की आवश्यकता है, इस उत्तर को एपेंडर्स को कॉन्फ़िगर करने के उदाहरण के लिए देखें। Xuggler वीडियो लाइब्रेरी एक प्रदान किया गया था (जो/usr/और वैश्विक classpath में जा रहा में स्थापित किया जा रहा पर जोर) -

logback with EJB3.1

संबंधित मुद्दे