अन्य ने लॉगिंग एप्लिकेशन ब्लॉक (एलएबी) काम करने के कुछ अच्छे लिंक पोस्ट किए हैं, इसलिए मैं यहां डुप्लिकेट नहीं करूंगा।
- डिफ़ॉल्ट
Exception.ToString()
क्रियान्वयन का उपयोग करें (यह बुरा नहीं है)
- लिखें कस्टम फ़ॉर्मेटर कि प्रयोगशाला में एकीकृत:
अपने अपवाद स्वरूपण के संदर्भ में आप 3 विकल्प है कि मैं के बारे में सोच सकते हैं।
- एक सहायक कार्य लिखें जो स्वरूपण करता है और स्ट्रिंग को विधि विधि में पास करता है।
यदि विकल्प 1 आपकी आवश्यकताओं को पूरा नहीं करता है तो मैं विकल्प 3 के साथ जाने की सलाह दूंगा (क्योंकि विकल्प 2 ओवरकिल है)। की तरह कुछ
एक साधारण उदाहरण होगा:
catch (Exception exception)
{
Logger.Write(LogHelper.CreateExceptionString(exception));
}
...
public static string CreateExceptionString(Exception e)
{
StringBuilder sb = new StringBuilder();
CreateExceptionString(sb, e, String.Empty);
return sb.ToString();
}
private static void CreateExceptionString(StringBuilder sb, Exception e, string indent)
{
if (indent == null)
{
indent = String.Empty;
}
else if (indent.Length > 0)
{
sb.AppendFormat("{0}Inner ", indent);
}
sb.AppendFormat("Exception Found:\n{0}Type: {1}", indent, e.GetType().FullName);
sb.AppendFormat("\n{0}Message: {1}", indent, e.Message);
sb.AppendFormat("\n{0}Source: {1}", indent, e.Source);
sb.AppendFormat("\n{0}Stacktrace: {1}", indent, e.StackTrace);
if (e.InnerException != null)
{
sb.Append("\n");
CreateExceptionString(sb, e.InnerException, indent + " ");
}
}
स्रोत
2010-06-07 16:31:22
अपवाद के प्रकार को शामिल करना भी सहायक है। लेकिन अन्यथा काफी अच्छा है। –
@Andrew: हाँ या आप डेटा संपत्ति से IDictionary निकालने के लिए कुछ कोड जोड़ सकते हैं। –
[यहां] (http://www.aspsnippets.com/Articles/Create-imple- त्रुटि- लॉग- टेक्स्ट- फ़ाइल-in-ASPNet-using-C-and-VBNet.aspx) एक और ** समाधान ** है ** । उम्मीद मदद करता है। – stom