2013-04-04 8 views
10

के बीच अलग लॉगिंग स्तर मैं जेडीके लॉगिंग को लॉगिंग फ्रेमवर्क और एसएलएफ 4 जे के रूप में सरल मुखौटा के रूप में उपयोग कर रहा हूं। जब मैं अलग-अलग स्तर के लॉग लॉग करता हूं तो मेरे पास कुछ प्रश्न हैं।एसएफएल 4 जे और जेडीके लॉगिंग

SLF4J लॉग स्तर निम्नलिखित है

ट्रेस (कम से कम गंभीर)
डिबग
जानकारी
चेतावनी दी
त्रुटि
घातक (सबसे गंभीर)

JDK लॉगिंग है निम्नलिखित लॉग स्तर

गंभीर (उच्चतम मूल्य)
चेतावनी
जानकारी
कॉन्फ़िग
फाइन
महीन
चरमसीमा (न्यूनतम मूल्य)

मैं डिबग करने के लिए लॉग स्तर सेट करना चाहते हैं तो उस स्तर नहीं है जेडीके लॉगिंग में उपलब्ध है। क्या कोई इस बात की व्याख्या कर सकता है कि हम इस स्थिति में DEBUG स्तर लॉगिंग कैसे प्राप्त कर सकते हैं। क्या हमें इस स्थिति के लिए कोई अतिरिक्त विन्यास करने की ज़रूरत है?

अपडेट किया गया

यह मेरी संपत्ति फ़ाइल विन्यास है

संचालकों = com.amc.logging.handlers.DebugLogHandler

com.amc.logging.handlers.DebugLogHandler.pattern = c: /logs/debug_log.log com.amc.logging.handlers.DebugLogHandler.level = ठीक com.amc.logging.handlers.DebugLogHandler.formatter = java.util.logging.SimpleFormatter com.amc.logging.handlers.DebugLogHandler .append = टी रु

कृपया मुझे बताएं कि मैं कहां गलत हुआ।

+0

डुप्लिकेट

यहाँ एक उदाहरण logging.properties फ़ाइल है? http://stackoverflow.com/questions/4278438/slf4j-logging-with-jdk-how-to-enable-debug – hd1

+0

मैंने लॉग स्तर को फाइन में बदल दिया है जो उपर्युक्त लिंक में उल्लिखित है लेकिन फिर भी मुझे DEBUG नहीं मिल रहा है स्तर लॉगिंग। –

+0

आपके द्वारा दिए गए समाधान ने मुझे मेरी समस्या का समाधान करने में मदद नहीं की। मैंने अपनी पोस्ट को मेरी प्रॉपर्टी फ़ाइल कॉन्फ़िगरेशन के साथ अपडेट किया है। –

उत्तर

7

मैंने इस मुद्दे को हल पद की मदद से हल किया है।

slf4j logging with jdk – how to enable debug?

डीबग स्तर लॉगिंग SLF4J में हम java.util.logging में फाइन स्तर मैप करने के लिए है के लिए

और हमें डिफ़ॉल्ट लॉगिंग स्तर को ठीक या ठीक स्तर के रूप में सेट करना होगा। यह लॉगिंग कॉन्फ़िगरेशन फ़ाइल में बोले लाइन डालकर हासिल किया जा सकता है।

= फाइन

0

आगे समस्या आपके पास .level कि भले ही आप हैंडलर परिभाषित किया है, आप इसे किसी वालों को सौंपा नहीं गया है।

जड़ लकड़हारा के लिए असाइन करें के लिए, अपने आवेदन में एक लकड़हारा के लिए

.handlers=com.amc.logging.handlers.DebugLogHandler 

का उपयोग यह निर्दिष्ट करने के लिए, लकड़हारा परिभाषित

com.company.application.package.level=FINE 

और यह करने के लिए अपने हैंडलर आवंटित: com.company.application.package.handlers=com.amc.logging.handlers.DebugLogHandler

इसके अलावा, com.amc.logging.handlers.DebugLogHandler एक वर्ग है जिसे आपने स्वयं परिभाषित किया है? क्या यह आपके कक्षा में है? क्योंकि अन्यथा मुझे नहीं लगता कि java.util.logging (JUL) इसे पहचान लेगा।

संचालकों कि जुलाई के साथ आता है में से एक का प्रयास करें:

handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler 

और उन्हें स्तर के साथ कॉन्फ़िगर, लॉग स्थान और स्वरूप है जो आप चाहते हैं। https://tomcat.apache.org/tomcat-6.0-doc/logging.html#Using_java.util.logging_(default)

यह अपाचे के Juli कार्यान्वयन से संचालकों का उपयोग करता है, लेकिन सिर्फ जुलाई से वर्गों के साथ स्थानापन्न: https://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html

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