在配置中禁用ELMAH

时间:2013-05-27 13:23:51

标签: asp.net-mvc-4 elmah

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

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

1 个答案:

答案 0 :(得分:0)

您可以这样做:

<强>的Global.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(); 
        }

<强>的web.config:

 <appSettings>
    <add key="LoggingEnabled" value="1"/>
  </appSettings>