मुझे लगता है कि ईएलएमएएच का मुख्य दोष यह है कि आपको जो चाहिए वह अधिक हो सकता है। यदि यह आपके कार्यान्वयन में आपके से अधिक जानकारी लॉगिंग और संग्रहीत कर रहा है, तो यह भंडारण और प्रसंस्करण में एक अनावश्यक ओवरहेड है। आपको यह भी सोचने की जरूरत है कि आप ELMAH के कंसोल तक पहुंच कैसे सुरक्षित करते हैं क्योंकि उन अपवाद विवरणों में आपके ऐप के रसदार विवरण हो सकते हैं (जो कठिन नहीं होने की आवश्यकता है, लेकिन यह चिंता है कि आपके पास पहले नहीं था)।
दूसरी तरफ, आपके स्वयं के कार्यान्वयन संभवत: उस अतिरिक्त जानकारी को लॉग इन करने के लिए बढ़ेगा जब आप यह तय कर लें कि कुछ जिद्दी बग की आवश्यकता है, और क्या आप वास्तव में उस समय के दूसरे भाग के शेविंग के बारे में परवाह करते हैं त्रुटि पृष्ठ प्रदर्शित किया जाना है? संभावना है कि आप अंततः ELMAH के अपने संस्करण का निर्माण कर लेंगे, तो क्यों न केवल ELMAH का उपयोग करें और स्वयं को समय बचाएं।
मैं अनुशंसा करता हूं कि यदि आप ELMAH का उपयोग करने के बजाय अपनी त्रुटि लॉगिंग लिखना चाहते हैं, तो आप इसे कम से कम मॉड्यूल में डालकर ग्लोबल.एक्सएक्स में एप्लिकेशन_इरर में डाल दें। बस अपने मॉड्यूल की इनिट विधि में एप्लिकेशन की त्रुटि ईवेंट की सदस्यता लें, और आप web.config में एक पंक्ति के साथ किसी अन्य एप्लिकेशन में आसानी से अपने त्रुटि हैंडलिंग कोड का पुन: उपयोग कर सकते हैं।
मुझे एएसपी.नेट की स्वास्थ्य निगरानी के माध्यम से किसी अपवाद लॉगिंग को संभालने में भी उपयोगी लगता है। यह web.config में लॉगिंग के प्रकार और स्तर को नियंत्रित करना आसान बनाता है, और प्रयासों में लॉग इन किए गए अपवादों को लॉगिंग करने की अनुमति देता है ... एप्लिकेशन_इरर तक पहुंचने के बिना पकड़ें। WebRequestErrorEvent को विस्तारित करने वाली एक कस्टम हैंडलएक्सप्शनवेन्ट क्लास बनाएं, और आप उन ईवेंट को किसी भी कैच ब्लॉक में बना और बढ़ा सकते हैं जहां आप वाकई जानना चाहते हैं कि अपवाद होने के बावजूद अपवाद हुआ।
पहले कभी ELMAH के बारे में नहीं सुना ... यह बहुत अच्छा है। मैं इसे ध्यान में रख रहा हूं। इस lib में मुझे पेश करने के लिए –
+1 –