Logger स्तर सेट करने के लिए सीधे slf4j का उपयोग करने का कोई तरीका नहीं है, क्योंकि slf4j सिर्फ एक लॉग मुखौटा/रूटिंग एपीआई है।
आप अंतर्निहित प्रवेश कार्यान्वयन पर भरोसा करने के जैसे नाम स्थान "org.eclipse.jetty" पर लॉगिंग स्तर निर्धारित करने की आवश्यकता होगी: slf4j-simple.jar का उपयोग कर
, और SimpleLogger, तो आप सरल लॉगर प्रारंभ होने के बाद केवल सिस्टम गुणों के माध्यम से प्रोग्राम को स्तर पर सेट नहीं कर सकते हैं, जो कि जेवीएम में बहुत जल्दी है।
यदि slf4j-log4j.jar का उपयोग करते हैं, तो Log4j specific techniques का उपयोग करें।
org.apache.log4j.LogManager.getLogger("org.eclipse.jetty").setLevel(Level.WARN);
- तो slf4j-jdk14.jar का उपयोग कर, java.util.logging तकनीकों का उपयोग करें।
java.util.logging.LoggerFactory.getLogger("org.eclipse.jetty").setLevel(Level.WARNING);
- तो logback.jar का उपयोग कर, logback Logger को slf4j लॉगर डाली और फिर स्तर निर्धारित किया है।
final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("org.eclipse.jetty");
if (!(logger instanceof ch.qos.logback.classic.Logger)) {
return;
}
ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) logger;
logbackLogger.setLevel(ch.qos.logback.classic.Level.WARN);
स्रोत
2012-12-17 18:46:16
एक्सएमएल/गुण फ़ाइल से क्यों बचें? वे लॉग स्तर में हेरफेर करने का सही तरीका हैं। इसके लिए प्रोग्रामिंग दृष्टिकोण खराब है क्योंकि आपको लॉग स्तर बदलने के लिए पुन: संकलित करने की आवश्यकता होगी !!!!! – SSR
जब तक आप उपयोगकर्ता को जीयूआई या टीयूआई के माध्यम से स्तर को बदलने के लिए कुछ तरीकों को लागू नहीं करते हैं? आप एक रास्ता या दूसरा नहीं कह सकते कि प्रोग्रामर को क्या करना चाहिए जबतक कि आप यह नहीं जानते कि वे इसका उपयोग कैसे करेंगे। – Fallso