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