تصفية على نص استثناء في Elmah
-
21-09-2019 - |
سؤال
هل هناك طريقة لتصفية الاستثناءات في Elma باستخدام رسالة الاستثناء؟
أمثلة:
"system.web.httpexception: طلب توقيت الخروج." لا أريد تصفية جميع httpexception ، ولكن فقط طلبات التوقيت.
"System.Web.httpexception: تجاوز طول الطلب الحد الأقصى."
ما لا أريد فعله هو كتابة التعليمات البرمجية الخاصة بذلك. فهل من الممكن القيام بذلك باستخدام تكوين buildin-web.config؟
شكرًا لك!
المحلول
نعم يمكنك. فقط استخدم تعبيرًا منتظمًا لاستجواب الرسالة. راجع المثال أدناه للحصول على تفاصيل حول كيفية مقارنة رسالة الاستثناء.
<errorFilter>
<test>
<!-- http://groups.google.com/group/elmah/t/cbe82cee76cc6321 -->
<and>
<is-type binding='Exception'
type='System.Web.HttpException, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' />
<regex binding='Exception.Message'
pattern='invalid\s+viewstate'
caseSensitive='false' />
<regex binding='Context.Request.UserAgent'
pattern='Trident/4(\.[0-9])*'
caseSensitive='false' />
</and>
</test>
</errorFilter>
نصائح أخرى
يمكنك إعداد معالج الأحداث في Global.asax لتجنب إعدادات Regex القبيحة:
void ErrorMail_Filtering(object sender, Elmah.ExceptionFilterEventArgs e)
{
if (e.Exception.Message.Contains("Request timed out"))
e.Dismiss();
}
يرى خطأ تصفية.
لا تنتمي إلى StackOverflow