启用自定义错误时,Elmah不会触发

Kal*_*exx 10 asp.net asp.net-mvc elmah web-config

当我禁用自定义错误时,Elmah会将所有发生的异常记录下来并将其记录到我的数据库中并通过电子邮件发送给我.

但是,第二个我将我的web.config更改为:

<customErrors mode="RemoteOnly" defaultRedirect="~/Home/Error">
</customErrors>
Run Code Online (Sandbox Code Playgroud)

Elmah停止运作.它不再记录数据库或其他任何异常,我看到的是我正在执行的自定义错误操作.

如何获得自定义错误消息并仍然具有elmah日志异常?除了Elmah,我目前没有做任何其他例外拦截.

Kal*_*exx 19

弄清楚了!

发生这种情况的原因是因为我filters.Add(new HandleErrorAttribute());进来了Global.asax.我不知道为什么会出现这种情况,但是在启用自定义错误时,这就是导致失败的原因.删除此行会导致Elmah正常处理自定义错误.

此外,告诉elmah记录"处理"错误也有效,如此答案所述.

我并不真正知道任何一种选择的完整后果.

  • 删除标准筛选器似乎停止web.config自定义错误重定向.告诉Elmah记录"处理"错误肯定是更好的解决方案. (2认同)