Asp.net

ELMAH 記錄如何按類型忽略錯誤

  • January 26, 2020

您好,我已經在我的項目中設置了 ELMAH,但是我遇到了很多錯誤,例如

System.Web.HttpException:從客戶端 (:) 檢測到潛在危險的 Request.Path 值。

生成時間:2013 年 5 月 26 日星期日 21:46:30 GMT

System.Web.HttpException (0x80004005):從客戶端 (:) 檢測到潛在危險的 Request.Path 值。在 System.Web.HttpRequest.ValidateInputIfRequiredByConfig() 在 System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext 上下文)

我想忽略它們,不要發送到我的郵件,而是寫在 ELMAH DB 中。有可能嗎?

是的,您可以使用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 上的文件以獲取完整的詳細資訊

引用自:https://stackoverflow.com/questions/16766275