Asp.net
啟用自定義錯誤時 Elmah 未觸發
當我禁用自定義錯誤時,Elmah 會記錄所有發生的異常並將它們記錄到我的數據庫中並通過電子郵件發送給我。
但是,第二次我將 web.config 更改為:
<customErrors mode="RemoteOnly" defaultRedirect="~/Home/Error"> </customErrors>Elmah 停止運作。它不再記錄數據庫或任何東西的異常,我所看到的只是我正在執行的自定義錯誤操作。
我怎樣才能有自定義錯誤消息並且仍然有 elmah 日誌異常?除了 Elmah 之外,我目前沒有進行任何其他異常攔截。
弄清楚了!
發生這種情況的原因是因為我
filters.Add(new HandleErrorAttribute());在Global.asax. 我不知道為什麼會這樣,但這就是在啟用自定義錯誤時導致失敗的原因。刪除此行會導致 Elmah 與自定義錯誤一起正常工作。此外,如本答案所述,告訴 elmah 記錄“已處理”錯誤也有效。
不過,我並不真正了解這兩種選擇的全部後果。