2010-03-30 16 views
7

ELMAH डिफ़ॉल्ट रूप से होस्ट, कोड, प्रकार, त्रुटि, उपयोगकर्ता, दिनांक और समय को अपने त्रुटि लॉग वेब पेज पर दिखाता है। क्या इसे कॉन्फ़िगर करने और आईपी या रेफरर जैसे अन्य फ़ील्ड दिखाने का कोई तरीका है?elmah.axd आउटपुट फ़ील्ड को अनुकूलित करें

elmah output example http://elmah.googlecode.com/svn/wiki/homeshot.png

उत्तर

2

ELMAH खुला स्रोत है। आप स्रोत डाउनलोड कर सकते हैं और लाइसेंस (शर्तों के अनुसार, लाइसेंस के मामले में)

आपको HttpConext.Request ऑब्जेक्ट द्वारा उपलब्ध कराए गए किसी भी डेटा को जाल करने में सक्षम होना चाहिए। आपको उस कोड को संशोधित करना होगा जो डेटा को पकड़ता है और स्टोर करता है, और उस नए डेटा के लिए कॉलम बनाने के लिए डेटाबेस।

+0

मैं अगर मैं करने के लिए है स्रोत को संशोधित करेगा। मैं उम्मीद कर रहा था कि प्रदर्शित फ़ील्ड को कॉन्फ़िगर करने के लिए एक अंतर्निहित तरीका – kenwarner

+0

मुझे नहीं लगता कि कॉन्फ़िगरेशन के माध्यम से उन परिवर्तनों को करने का कोई तरीका है, आपको स्रोत को संशोधित करना होगा। –

4

आप अपना खुद का त्रुटि पृष्ठ लिख सकते हैं। ErrorLog.GetErrors() को एक datagrid बाँध और जो कुछ भी वांछित कॉलम का उपयोग करें:

List<ErrorLogEntry> entries = new List<ErrorLogEntry>(); 
ErrorLog.GetDefault(HttpContext.Current).GetErrors(0, 50, entries); 
string ip = entries[0].Error.ServerVariables["REMOTE_ADDR"]; 
string referrer = entries[0].Error.ServerVariables["HTTP_REFERER"]; 
+3

यह लगभग काम करता है, एल्मा के वर्तमान संस्करण को छोड़कर (सुनिश्चित नहीं है कि यह अलग होता है), GetErrors() ErrorLogEntry ऑब्जेक्ट्स को पूरी तरह से पॉप्युलेट नहीं करता है। विशेष रूप से, सर्वर वैरिएबल खाली है। आपको GetErrors() और फिर प्रत्येक ErrorLogEntry ऑब्जेक्ट के लिए उपयोग करना होगा, पूरी तरह से आबादी वाले त्रुटिLogEntry ऑब्जेक्ट प्राप्त करने के लिए GetError (id) पर कॉल करें ... –

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