2013-05-01 10 views
7

का उपयोग करते हुए एएसपी.नेट एमवीसी 4 के लिए ईएलएमएएच परीक्षण डीबी में ईएलएमएएच एसक्यूएल स्क्रिप्ट चला गया (यह ईएलएमए_इरर टेबल और 3 संग्रहीत प्रक्रियाओं को बनाया गया) और Nuget का उपयोग कर एमवीसी अनुप्रयोग में ईएलएमएएच कॉन्फ़िगर किया गया।एसक्यूएल सर्वर 2008 आर 2

निर्दिष्ट के रूप में मैं web.config संशोधित और मैं

http://mysite/elmah.axd 

में अपवाद लॉग इन कर रहा हूँ लेकिन, बजाय मैं Sql सर्वर में अपवाद प्रवेश करना चाहते हैं।

मैं प्राप्त करने के लिए है कि

public class ElmahHandleErrorAttribute : System.Web.Mvc.HandleErrorAttribute 
{ 
    public override void OnException(System.Web.Mvc.ExceptionContext context) 
    { 
     LogException(e); 
    } 
    private static void LogException(Exception e) 
    { 
     // Call to Database and insert the exception info 
    } 
} 

अंतिम चरण था वर्ग नीचे जुड़ते रहे हैं:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new ElmahHandleErrorAttribute()); 
} 

यह सब अपवाद लॉग इन करने या मैं कुछ याद आ रही है ELMAH उपयोग करने के लिए सही तरीका है?

उत्तर

11

एक बार जब आप डेटाबेस सेटअप, तुम सब करने की जरूरत है <elmah> अनुभाग के लिए निम्न सेटअप करने के लिए अपने web.config Elmah एसक्यूएल डाटाबेस के लिए लॉग इन करने के जोड़ने है:

<elmah> 
     <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="<DBConnString>" 
      applicationName="<YourApp>" 
    </elmah> 

बदलें <DBConnString> और <YourApp> आपके विन्यास के लिए उपयुक्त मूल्यों के साथ।

एक बार ऐसा करने के बाद आपको अपने कस्टम ElmahHandleErrorAttribute क्लास का उपयोग करने की आवश्यकता नहीं होगी।

मुझे यकीन नहीं है कि आपने कौन सा NuGet पैकेज स्थापित किया है, लेकिन मैं Elmah.MVC पैकेज का उपयोग करने की अनुशंसा करता हूं क्योंकि यह आपके लिए सभी त्रुटि हैंडलर और त्रुटि फ़िल्टर सेट करके एल्मा को एमवीसी में असाधारण रूप से अच्छी तरह से एकीकृत करता है।

+1

मौजूदा एल्मा कॉन्फ़िगरेशन के बारे में क्या? क्या एल्मा आवश्यक टेबल बनायेगा? – Rahatur

+7

कोई elamh स्वचालित रूप से मौजूदा तालिकाओं को नहीं बनाएगा। हालांकि, आप डेटाबेस अनुभाग में https://code.google.com/p/elmah/wiki/Downloads से अपने डेटाबेस प्रकार और संस्करण के लिए ऐसा करने के लिए एक स्क्रिप्ट डाउनलोड कर सकते हैं। –

+0

मेरा मानना ​​है कि यह कनेक्शन स्ट्रिंग नाम है (जैसा कि web.config अनुभाग में परिभाषित किया गया है), कनेक्शन स्ट्रिंग स्वयं नहीं है, जो कनेक्शनस्ट्रिंगनाम = "" मान में जाता है। – Bern

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