2012-09-22 14 views
6

मेरे पास Elmah.SqlErrorLog का उपयोग करके एक साइट लॉगिंग त्रुटियां हैं। मेरे लक्ष्य में एक और साइट हैडलर हैं जो पृष्ठों की सेवा करते हैं जो आम तौर पर लोकहोस्ट/elmah.axd पर देखेंगे। इसका कारण यह है कि त्रुटियों को लॉग करने वाली साइट फॉर्म प्रमाणीकरण का उपयोग करती है, जबकि मैं प्रतिबंधित करना चाहता हूं कि विंडोज प्रमाणीकरण द्वारा लॉग कौन देख सकता है।ELMAH applicationName: किसी अन्य साइट द्वारा लॉग अप अपवाद दिखाएं

लॉगिंग करने वाली साइट पोर्ट 80 पर चल रही है, और लॉग प्रदर्शित करने के लिए साइट पोर्ट 8008 पर है। सबसे पहले, मैं लॉगिंग साइट से अपवाद देखने में असमर्थ था। फिर मुझे यह जवाब मिला, जो बताता है कि आप अपनी त्रुटि के लिए एप्लिकेशन नाम सेट कर सकते हैं: Separate viewer application for ELMAH's log

मैंने उस तालिका में देखा जो ELMAH लॉग करता है, और पाया कि दो अलग-अलग साइटों में लॉगिंग/देखने को अलग करने के मेरे प्रयास से पहले, यह एप्लिकेशन कॉलम में "/ एलएम/डब्ल्यू 3 एसवीसी/3/रूट" लॉगिंग कर रहा है।

आवेदननाम निर्दिष्ट करने के बाद = "/ एलएम/डब्ल्यू 3 एसवीसी/3/रूट", यह काम करता है! दुर्भाग्यवश, यह मान मशीन को मशीन में बदलता है, जो अगले व्यक्ति के देव बॉक्स में "/ एलएम/डब्ल्यू 3 एसवीसी/10/रूट" का नाम होने पर अच्छी तरह से काम नहीं करेगा। http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/44a57859-8fbb-4238-a7b5-f10c34cf8fe8.mspx?mfr=true

मैं पोर्ट 8008 पर साइट लॉग देखने पोर्ट 80 पर साइट से लॉग इन अपवादों को प्रदर्शित करने के लिए है कि कैसे प्राप्त कर सकते हैं: इस के अनुसार, कि स्ट्रिंग स्थानीय मशीन नाम स्थान के साथ क्या करना है?

उत्तर

10

एक बार जब आप एप्लिकेशन नाम स्पष्ट रूप से सेट कर लेंगे, तो यह वह नाम है जिसका उपयोग डेटाबेस के अपवाद को रिकॉर्ड करते समय किया जाना चाहिए।

आप सेट करते हैं APPLICATIONNAME = "फू" दोनों साइटों के लिए config में, किसी भी नए पोर्ट 80 पर साइट पर रिकॉर्ड अपवाद पोर्ट 8008

पर साइट को दिखाई देने चाहिए आप पुराने त्रुटियों दृश्यमान बनाने के लिए की जरूरत है कि यह परिवर्तन करने से पहले दर्ज किए गए, आप ELMAH_Error तालिका में आवेदन क्षेत्र अद्यतन किया जा सकता करने के लिए 'फू' के रूप में अच्छी तरह से

संपादित

APPLICATIONNAME मूल्य में Errorlog तत्व पर एक विशेषता के रूप में सेट किया गया है web.config

<elmah> 
     <security allowRemoteAccess="false" /> 
     <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-sqlserver" applicationName="Foo" /> 
    </elmah> 
+0

मुझे लगता है कि आप web.config में एप्लिकेशन नाम सेट करना चाहते हैं। यह कहाँ जाना चाहिए? मैं देख रहा हूं कि Google परिणाम अनुभाग से संबंधित हैं। क्या ये सही है? http://weblogs.asp.net/scottgu/archive/2006/04/22/Always-set-the-_2200_applicationName_2200_-property-when-configuring-ASP.NET-2.0- यादगार- और-other-Providers.aspx – BenWillkommen

+0

मैंने एक उदाहरण शामिल करने के लिए उत्तर अपडेट किया है - आपके पास अपने web.config में एक एल्मा अनुभाग होना चाहिए - एप्लिकेशन नाम उस त्रुटि में सेट हो जाता है –

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