如何在web.config和后面的代码中启用和禁用ELMAH?

时间:2009-10-09 20:23:03

标签: elmah

我在我的ASP.NET项目中使用ELMAH进行错误报告。一切都很好,除非我调试项目时我不想向允许的用户发送电子邮件报告。 我怎样才能完成这一壮举?

3 个答案:

答案 0 :(得分:8)

假设您的开发和生产环境有不同的web.config文件,请在开发web.config中禁用Elmah。您需要注释掉(或删除)httpModules部分中的Elmah.ErrorLogModule元素。

答案 1 :(得分:5)

也许您可以使用ErrorFiltering关闭Global.asax中的电子邮件日志记录。类似的东西:

void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{

#if DEBUG
    e.Dismiss();
#endif

}

答案 2 :(得分:0)

另一种方法是使用ErrorMail_Mailing方法。当ELMAH发送电子邮件时,它首先运行它(当存在于global.asax.cs中)

public void ErrorMail_Mailing(object sender, ErrorMailEventArgs e)
{
#if DEBUG
    e.Mail.To.Clear();
    e.Mail.To.Add("MyAddress@myDomain.com");
    e.Mail.Subject = "Error in Development";
#endif
}

上面的例子可以通过web.Debug.config&中的转换来实现。 web.Release.config。但是你可以用这种方法做更多的事情。见http://scottonwriting.net/sowblog/archive/2011/01/06/customizing-elmah-s-error-emails.aspx