2010-08-05 10 views
11

प्रसंग: JBoss अनुप्रयोग सर्वर 6SLF4J logger.debug() JBoss 6 में लॉग इन नहीं प्राप्त करता है

मैं JBoss लॉग प्रबंधक को slf4j बाध्य करने के लिए slf4j-jboss-logmanager.jar पर भरोसा कर रहा हूँ।

सभी logger.info() आउटपुट सही ढंग से लॉग किया गया है।

हालांकि, logger.debug() उत्पादन कभी नहीं लॉग धारा में प्रकट होता है।

हालांकि jboss-logging.xml कंसोल लकड़हारा के लिए DEBUG के स्तर की स्थापना की है ...

<console-handler name="CONSOLE" autoflush="true" target="System.out"> 
     ... 
     <level name="DEBUG"/> 
     ... 
    </console-handler> 

किसी को भी देखना है कि क्यों मेरी डीबग विवरण लॉग धारा तक पहुंचने कभी नहीं?

उत्तर

12

जेबॉस 6 के रूप में, लॉग मैनेजर और jboss-logging.xml स्वामित्व हैं।

कुंजी कॉन्फ़िग फ़ाइल के अंत में जड़-लकड़हारा परिभाषा है:

डिफ़ॉल्ट defintion को सीमित करता है जो कुछ भी हाथ के बल्लेबाजINFO स्तर पर करने के लिए सभी उत्पादन:

<root-logger> 
     <level name="${jboss.server.log.threshold:INFO}"/> 
     <handlers> 
     <handler-ref name="CONSOLE"/> 
     <handler-ref name="ERROR"/> 
     <handler-ref name="FILE"/> 
     </handlers> 
    </root-logger> 

को यह बदल रहा है

<root-logger> 
     <level name="${jboss.server.log.threshold:DEBUG}"/> 
     <handlers> 

सभी संभावित DEBUG जानकारी के लिए द्वार खोलता है।

शायद बहुत अधिक DEBUG जानकारी। इसलिए, मुझे कुछ अतिरिक्त फ़िल्टर जोड़ना पड़ा:

<logger category="org.jboss"> 
     <level name="INFO"/> 
    </logger> 

    <logger category="org.hibernate"> 
     <level name="INFO"/> 
    </logger> 

    <logger category="javax"> 
     <level name="INFO"/> 
    </logger> 

    <logger category="idealconnector"> 
     <level name="INFO"/> 
    </logger> 

    <logger category="httpclient"> 
     <level name="INFO"/> 
    </logger> 

    <logger category="my.package"> 
     <level name="DEBUG"/> 
    </logger> 
+1

जानना अच्छा है: jboss-logging.xml में कोई भी परिवर्तन तुरंत 'गर्म तैनाती' है। तो किसी भी समय किसी भी पैकेज/कक्षा के लॉग स्तर को बदलना संभव है - एक * रनिंग * सर्वर (!) – Jan

+0

में यदि आप JBOSS- Eclipse से JBOSS-Tools के साथ JBOSS चला रहे हैं तो इसके लिए एक साइड-नोट। मैंने ऊपर वर्णित सभी चीजें की हैं, लेकिन मुझे अभी भी डीबग स्टेटमेंट नहीं दिख रहा है। अपराधी ग्रहण के भीतर लॉन्च कॉन्फ़िगरेशन था। इसने [JBOSS-INSTALL] /bin/logging.properties फ़ाइल का संदर्भ दिया जो Loglevel को INFO पर रखता था। – Bjarne77