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

时间:2011-10-12 02:59:12

标签: asp.net asp.net-mvc web-config elmah

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

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

<customErrors mode="RemoteOnly" defaultRedirect="~/Home/Error">
</customErrors>

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

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

1 个答案:

答案 0 :(得分:19)

想出来了!

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

另外,告诉elmah记录“已处理”错误也有效,如this answer所述。

我并不是真的知道这两种选择的完整后果。