http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html सहायक है। आप किसी भी व्यक्तिगत लॉगर के लिए केवल एक स्तर सेट कर सकते हैं (जैसा कि आप लॉगर पर setLevel() विधि से बता सकते हैं)। हालांकि, आप दो सामान्य स्तरों में से सबसे कम ले सकते हैं, और फिर प्रोग्रामेटिक रूप से फ़िल्टर कर सकते हैं।
दुर्भाग्यवश, आप इसे कॉन्फ़िगरेशन फ़ाइल के साथ नहीं कर सकते हैं। केवल कॉन्फ़िगरेशन फ़ाइल के साथ स्विच करने के लिए आपको log4j जैसे कुछ पर स्विच करना होगा, जो आपने कहा है वह एक विकल्प नहीं है।
तो मैं कोड में प्रवेश फेरबदल, फिल्टर के साथ, कुछ इस तरह से सुझाव है:
class LevelFilter implements Filter {
private Level Level;
public LevelFilter(Level level) {
this.level = level;
}
public boolean isLoggable(LogRecord record) {
return level.intValue() < record.getLevel().intValue();
}
}
और फिर दूसरा हैंडलर पर, setFilter (नई LevelFilter (Level.INFO)) या जो कुछ भी करते हैं। यदि आप इसे कॉन्फ़िगर करने योग्य फ़ाइल चाहते हैं तो आप लॉगिंग गुण सेटिंग का उपयोग कर सकते हैं जो आपने स्वयं बनाया है, और सामान्य गुण विधियों का उपयोग करें।
मुझे लगता है कि आपके पास डिज़ाइन होने के बाद प्रोग्रामेटिक कोड के दो प्रोग्राम हैंडलर सेट करने के लिए कॉन्फ़िगरेशन कोड काफी सरल है, लेकिन यदि आप अधिक जानकारी चाहते हैं तो कोई टिप्पणी जोड़ें और मैं संपादित करूंगा।
स्रोत
2009-02-06 08:10:59
उत्तर के लिए धन्यवाद। मुझे बस यह समझ में नहीं आता है कि आप कोड लिखने के बिना विभिन्न स्थानों पर विभिन्न गंभीरता के संदेशों को लॉग नहीं कर सकते हैं। – user63196
हां, यही कारण है कि बहुत से लोग log4j का उपयोग करते हैं –