3

我已经在我的 ASP.NET MVC 4 应用程序中配置了 ELMAH。我在Application_Error事件中编写了一些代码来检查错误的状态代码并调用错误控制器以返回 404、500 错误的适当视图。

Elmah 记录错误,如果它达到Application_Error. 我不想让 ELMAH 自动执行该操作,而是从Application_Error. 那么,我是否可以在 web.config 中设置任何配置属性来禁用 elmah 自动记录错误。

4

1 回答 1

1

你可以这样做:

全球.asax.cs:

 protected void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
        {
            if (ConfigurationManager.AppSettings["LoggingEnabled"] == "0")
            {
                e.Dismiss();
                return;
            }

            var httpContext = e.Context as HttpContext;
            if (httpContext == null)
            {
                return;
            }

            var error = new Error(e.Exception, httpContext);
            ErrorLog.GetDefault(httpContext).Log(error);
            e.Dismiss(); 
        }

网络配置:

 <appSettings>
    <add key="LoggingEnabled" value="1"/>
  </appSettings>
于 2014-08-28T04:08:48.040 回答