Elmah log как игнорировать ошибку по типу
Привет, у меня есть настройка ELMAH в моем проекте, но я получаю много ошибок, таких как
2 ответов
Да, вы можете сделать это с помощью ошибка фильтрации в ELMAH и который подробно описано в проекте wiki. Короче говоря, следующий фильтр в вашем web.config
должен выполнить эту работу (при условии, что вы уже настроили разделы конфигурации модулей):
<errorFilter>
<test>
<and>
<regex binding="FilterSourceType.Name" pattern="mail" />
<regex binding="Exception.Message"
pattern="(?ix: \b potentially \b.+?\b dangerous \b.+?\b value \b.+?\b detected \b.+?\b client \b )" />
</and>
</test>
</errorFilter>
первый <regex>
условие фильтры на основе источника фильтрации такое, что рассылка не будет происходить. проверьте документацию на wiki для полного подробности.
решение, которое не включает регулярные выражения, просто добавьте это в свой глобальный.асакс.cs:
protected void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Message == "A potentially dangerous Request.Path value was detected from the client (:).")
e.Dismiss();
}
// this method may also be useful
protected void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Message == "A potentially dangerous Request.Path value was detected from the client (:).")
{
// do something
}
}
или вы можете объединить два метода:
void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs args)
{
Filter(args);
}
void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs args)
{
Filter(args);
}
void Filter(ExceptionFilterEventArgs args)
{
if (args.Exception.GetBaseException() is HttpRequestValidationException)
args.Dismiss();
}