2009-08-06 16 views
5

मेरे पास एक अपवाद है कि मुझे निगलने की आवश्यकता है (लॉगिंग के दौरान अपवाद), हालांकि मैं नहीं चाहता कि अपवाद जानकारी समय के मिस्टों को पूरी तरह से खो जाए और इसलिए मुझे लगा कि मैं कम से कम भी कर सकता हूं उत्पादन में यह अगर यह आवश्यक सहायता कम से कम मशीन होने समस्याओं पर DebugView का उपयोग कर सकते हो जाता हैरिलीज मोड में डीबग को लिखें

Debug.Write(ex.ToString()); 

इस तरह का उपयोग कर डिबग करने के लिए।

रिलीज मोड में डीबग क्लास को हटा दिया गया है - रिलीज मोड में डीबग करने के लिए मैं कुछ आउटपुट कैसे करूं?

उत्तर

16

सीधे शब्दों में

Trace.Write(ex.ToString()); 

यह Debug.Write(ex.ToString()); के रूप में ही करता है लेकिन रिलीज मोड में नहीं निकाला जाएगा (जब तक आप अपने प्रोजेक्ट सेटिंग्स में ट्रेस निरंतर की परिभाषा को नहीं निकाला)

का उपयोग
+3

हार्ड डिस्क भरने से बचने के लिए ~ 14 दिनों के बाद अपनी लॉग फ़ाइलों को घुमाने के लिए याद रखें। – JBRWilkinson

2

शायद कुछ लॉगिंग ढांचे को देखने लायक होगा। मैं log4net पसंद करता हूं जहां आपके पास अलग-अलग लॉगिंग स्तर होते हैं (DEBUG, INFO, WARN, ERROR), अलग-अलग लॉगर्स (आप एप्लिकेशन के प्रत्येक महत्वपूर्ण भाग के लिए एक लॉगर डाल सकते हैं), और आप अलग-अलग लॉगर्स के लिए अलग-अलग डीबग स्तर सेट कर सकते हैं विन्यास फाइल इसलिए यदि आपको कोड के कुछ क्षेत्र में कोई समस्या है तो आप उस लॉगर के लिए DEBUG स्तर सेट कर सकते हैं और जब आप पूरा कर लेंगे तो आप मूल स्तर को वापस रख सकते हैं।

यह सिर्फ सतह को खरोंच करता है, त्रुटियों पर ईमेल भेजने या डीबी पर लॉग इन करने जैसी कई और सुविधाएं हैं।

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