Log.INFO बनाम Log.DEBUG [बंद]


95

मैं एक बड़ा व्यावसायिक कार्यक्रम विकसित कर रहा हूं और अपने आप को भ्रमित करता रहता हूं कि मैं किस तरह की सूचना के साथ लॉग.इनएफओ और लॉग डीबग के साथ लॉग इन करना चाहता हूं। क्या प्रत्येक प्रकार के लॉग संदेश में अंगूठे के कोई मानक या नियम हैं?

जवाबों:


132

मैं आमतौर पर इसे इस तरह उपयोग करने की कोशिश करता हूं:

  • डिबग: डेवलपर्स के लिए दिलचस्प जानकारी, जब किसी समस्या को डीबग करने का प्रयास किया जाता है।
  • जानकारी: किसी दिए गए त्रुटि के संदर्भ का पता लगाने की कोशिश कर रहे सहायक कर्मचारियों के लिए दिलचस्प जानकारी
  • चेतावनी के लिए नुकसान: समस्याओं और त्रुटियों क्षति के स्तर पर निर्भर करता है।

क्या INFO को हमेशा उत्पादन में सक्षम किया जा सकता है, क्या इसका कोई प्रदर्शन प्रभाव पड़ेगा?
गुलाबीपानी

1
यह निर्भर करता है .. (मुझे यह उत्तर पसंद है) जिन कारकों को आपको ध्यान में रखना है, वे हैं: 1. जानकारी लॉग लाइनों की मात्रा 2. लॉगिंग सेटअप (आपकी लॉगिंग लाइनें कहां समाप्त होती हैं?) 3. उपलब्ध प्रसंस्करण और io शक्ति पर? संबंधित सिस्टम।
nfechner

1
और ध्यान रखें कि अधिक शोर, समस्याओं को स्पॉट करना जितना मुश्किल होता है। से plumberjack.blogspot.be/2010/09/... :> यूनिक्स धारणा के साथ आम में, सॉफ्टवेयर जब यह होने की जरूरत है, या होने के लिए कहा है, को छोड़कर जरूरत से ज्यादा वर्बोज़ नहीं होना चाहिए। (मुझे यह उद्धृत क्यों नहीं मिल सकता है?)
कुल्हाड़ी

38

डिबग : प्रोग्राम स्टेट से संबंधित बारीक विवरण, आमतौर पर डिबगिंग के लिए उपयोग किया जाता है;

जानकारी : कार्यक्रम की स्थिति, कार्यक्रम की घटनाओं या व्यवहार पर नज़र रखने से संबंधित सूचनात्मक विवरण;

चेतावनी : बयान जो संभावित हानिकारक घटनाओं या कार्यक्रम में राज्यों का वर्णन करते हैं;

त्रुटि : बयान जो आवेदन में गैर-घातक त्रुटियों का वर्णन करते हैं; इस स्तर का उपयोग अक्सर लॉगिंग अपवादों को लॉग करने के लिए किया जाता है;

घातक : त्रुटि की स्थिति का सबसे गंभीर प्रतिनिधित्व करने वाले बयान, जिसके परिणामस्वरूप कार्यक्रम समाप्ति की संभावना है।

Http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Start.px पर मिला


क्या उपयोगकर्ता इनपुट द्वारा ट्रिगर की गई त्रुटियों को चेतावनी या त्रुटियों के रूप में माना जाना चाहिए? (IE गलत उपयोगकर्ता नाम या पासवर्ड)
Stevoisiak

@Stevoisiak उनके जवाब के आधार पर मुझे लगता है कि इसे एक जानकारी के रूप में माना जाना चाहिए।
अधीरॉक्स

9

यह भी याद रखें कि सभी info(), error()और debug()लॉगिंग कॉल किसी भी आवेदन के भीतर आंतरिक प्रलेखन प्रदान करते हैं।


मुझे लगता है कि यह एक अच्छी बात है। जैसे log.info("parse the widget text; ignore contents of 'foo'")कोड को पढ़ते समय उदाहरण उपयोगी दस्तावेज के रूप में कार्य करता है, भले ही यह एक लॉग स्टेटमेंट भी हो।
स्टू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.