2009-09-29 12 views
7

मैं अपने वेब एप्लिकेशन में Log4j का उपयोग करने जा रहा हूं और मैं इसके लिए नया हूं। Log4j के उपयोग और मैं अपने आवेदन में इसका उपयोग कैसे करता हूं। अग्रिम में धन्यवाद।Log4j API का उपयोग क्या है?

उत्तर

12

मुझे लगता है कि Log4J home page इसके उपयोग के पीछे सबसे अच्छा अवलोकन और तर्क प्रदान करता है।

log4j के साथ यह आवेदन द्विआधारी संशोधित किए बिना रनटाइम पर लॉगिंग सक्षम करना संभव है। Log4j पैकेज डिज़ाइन किया गया है ताकि ये कथन में भारी प्रदर्शन लागत के बिना भेजे गए कोड में रह सकें। बाइनरी को छूए बिना लॉगिंग व्यवहार कॉन्फ़िगरेशन फ़ाइल संपादित करके नियंत्रित किया जा सकता है।

लॉगिंग विफलताओं के लिए विस्तृत संदर्भ के साथ डेवलपर को लैस करता है। दूसरी तरफ, परीक्षण गुणवत्ता आश्वासन और एप्लिकेशन में विश्वास प्रदान करता है। लॉगिंग और परीक्षण भ्रमित नहीं किया जाना चाहिए। वे पूरक हैं। लॉगिंग करते समय बुद्धिमानी से उपयोग किया जाता है, यह आवश्यक उपकरण साबित हो सकता है।

इसमें जोड़ने के लिए, Log4J के साथ आप गतिशील रूप से लॉग ऑन चालू/बंद कर सकते हैं। आप प्रारूप को गतिशील रूप से बदल सकते हैं (क्या आप टाइमस्टैम्प चाहते हैं? डेटास्टैम्प?) और आप लॉगिंग कहां बदल सकते हैं (कंसोल पर? फ़ाइल में? डेटाबेस में?), सब कुछ आपके कोड को बदले बिना।

+1

आप एक साथ कई स्रोतों पर लॉग भी कर सकते हैं। एक आवेदन में मैं अब काम कर रहा हूं, जब मैं एप्लिकेशन का परीक्षण कर रहा हूं, तो मैं कंसोल दोनों को लॉग ऑन करता हूं (इसलिए मैं डीबग जानकारी के साथ-साथ किसी भी त्रुटि को पॉप अप कर सकता हूं) मानक लॉग फ़ाइल के साथ जो हमेशा लॉग ऑन होता है । काफी आसान –

1

log4j की सुंदरता परिशिष्ट और लेआउट की वास्तुकला में है। जैसा कि पिछले पोस्टर द्वारा उल्लेखित किया गया है, आप बिना किसी परेशानी के अपने आवेदन के लॉगिंग के पहलू को बदलते हैं, ज्यादातर समय यह केवल सरल विन्यास का मामला है। उपयोग में से एक जो मैं अपने हिस्से में जोड़ूंगा वह केंद्रीकृत लॉगिंग है जिसे आपके कोड बेस को छूए बिना आपके एप्लिकेशन में जोड़ा जा सकता है। उदाहरण के लिए - this देखें।

1

अपने सबसे बुनियादी स्तर पर, आप इसे अपने कोड में System.out.println के प्रतिस्थापन के रूप में सोच सकते हैं। System.out.println की तुलना में यह बेहतर क्यों है? कारण कई हैं।

प्रारंभ करने के लिए, System.out.println मानक आउटपुट में आउटपुट करता है, जो आमतौर पर एक कंसोल विंडो है। Log4j का आउटपुट कंसोल पर जा सकता है, लेकिन यह एक ईमेल सर्वर, डेटाबेस डब्लू टेबल, एक लॉग फ़ाइल, या कई अन्य गंतव्यों पर भी जा सकता है।

लॉग 4j का एक और बड़ा लाभ यह है कि लॉगिंग के विभिन्न स्तर निर्धारित किए जा सकते हैं। स्तर पदानुक्रमित हैं और निम्नानुसार हैं: ट्रेस, डेबग, सूचना, चेतावनी, त्रुटि, और फाटल। यदि आप कोई विशेष लॉग स्तर सेट करते हैं, तो उस स्तर के लिए संदेश और इसके ऊपर के सभी स्तर लॉग होंगे, और उसके नीचे किसी भी लॉग स्तर के लिए नहीं। उदाहरण के तौर पर, यदि आपका लॉग स्तर ERROR पर सेट है, तो आप त्रुटियों और वसा वाले संदेशों को लॉग करेंगे। यदि आपका लॉग स्तर INFO पर सेट है, तो आप उन संदेशों को लॉग करेंगे जो इंफोस, चेतावनियां, त्रुटियां और मोटापा हैं। आम तौर पर, जब आप अपनी स्थानीय मशीन पर विकसित होते हैं, तो लॉग स्तर को DEBUG पर सेट करना अच्छा होता है, और जब आप कोई वेब एप्लिकेशन तैनात करते हैं, तो आपको लॉग स्तर को INFO या उच्चतर पर सेट करना चाहिए ताकि आप अपने त्रुटि लॉग को भर न सकें संदेश डीबग करें।

Log4j अन्य महान चीजें कर सकता है। उदाहरण के लिए, आप विशेष जावा कक्षाओं के लिए स्तर निर्धारित कर सकते हैं, ताकि यदि कोई विशेष वर्ग कई चेतावनियों को थकाता है, तो आप सभी चेतावनी संदेशों को दबाने के लिए उस वर्ग के लिए लॉग स्तर को ERROR पर सेट कर सकते हैं।

Read more...

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