log4net का उपयोग करें। गंभीरता से।
ऐसी मानक और सर्वव्यापी पुस्तकालय का उपयोग करके आपको उन लोगों से मार्गदर्शन मिलता है जिन्होंने इस समस्या के बारे में सोचने में काफी समय लगाया है। समाधान यह है कि अधिकांश लॉगिंग पुस्तकालयों में लॉगिंग के कई स्तर होते हैं।
उदाहरण के लिए log4net में मैं
ILog log = LogManager.GetLogger("some logger");
log.Debug("some debugging info");
log.Info("some message meaningful in the domain");
log.Warn("something might be occurring that merits your attention");
log.Error("Everything just went to hell")
आवेदन व्यवस्थापक तो प्रवेश करने कि वह देखने में रुचि है के विभिन्न स्तरों सेट कर सकते हैं कर सकते हैं। रनटाइम पर इस कॉन्फ़िगरेशन को बदलने की अनुमति देना भी संभव है।वास्तव में, लॉग 4नेट जैसी मजबूत लॉगिंग लाइब्रेरी के साथ आप अलग-अलग स्रोतों से विभिन्न लॉगिंग स्तरों को अलग-अलग परिशिष्टों को निर्देशित कर सकते हैं। उदाहरण के लिए, हार्ड डिस्क पर संग्रहीत पिछले सप्ताह के लिए सभी लॉगिंग संदेशों के साथ रोलिंग फ़ाइल हो सकती है, सभी जानकारी, चेतावनी, और त्रुटि संदेश जो आपके डेटा-एक्सेस परत में उत्पन्न नहीं होते हैं, डेटाबेस में धक्का दिया जाता है, और सभी त्रुटियां भेजी जाती हैं ईमेल के माध्यम से आप के लिए।
मुझे लगता है कि आप जो वर्णन कर रहे हैं वह "डीबग" लॉग स्तर के नीचे स्पष्ट रूप से गिरता है।
आप निश्चित रूप से लॉगिंग स्तर को अपने आप लागू कर सकते हैं, लेकिन अगर आपकी लाइब्रेरी का उपयोग करने वाले किसी भी व्यक्ति को सभी डिबगिंग जानकारी देखने में दिलचस्पी है, तो उन्हें जो कुछ भी उपयोग कर रहे हैं, उसके अलावा उन्हें आपके सिस्टम को सीखना होगा। मानकीकृत करने के लिए बेहतर है।
तो सर्वोत्तम प्रथाओं:
- उपयोग विभिन्न प्रवेश स्तर।
- अपना खुद का लॉगिंग ढांचा रोल न करें, log4net (जो वास्तव में इस दिन और उम्र काफी मानक है) या कम से कम माइक्रोसॉफ्ट के entlib logging block पर उपयोग करें।
स्रोत
2010-04-04 16:12:36