Filter auf Ausnahmetext in Elmah
-
21-09-2019 - |
Frage
Gibt es eine Möglichkeit, um Filter Ausnahmen in elma die Ausnahmemeldung mit?
Beispiele:
„System.Web.HttpException: Zeitüberschreitung der Anforderung.“ Ich will nicht alle Httpexception, um herauszufiltern, sondern nur die timed-out-Anfragen.
"System.Web.HttpException: Maximale Anforderungslänge überschritten."
Was ich will nicht zu tun ist, eigenen Code schreiben dafür. So ist es möglich, dies mit der buildin-web.config Konfiguration?
zu tunDanke!
Lösung
Ja, Sie können. Verwenden Sie einfach einen regulären Ausdruck, um die Nachricht zu befragen. Siehe das Beispiel unten für Details, wie die Ausnahmemeldung zu vergleichen.
<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>
Andere Tipps
Sie können einen Event-Handler in Ihrer global.asax eingerichtet, um hässliche Konfiguration regex Einstellungen zu vermeiden:
void ErrorMail_Filtering(object sender, Elmah.ExceptionFilterEventArgs e)
{
if (e.Exception.Message.Contains("Request timed out"))
e.Dismiss();
}
Siehe Fehler Filterung .