8

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

4

3 回答 3

8

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

于 2009-10-09T20:32:35.647 回答
5

也许您可以使用ErrorFiltering来关闭 Global.asax 中的电子邮件记录。就像是:

void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{

#if DEBUG
    e.Dismiss();
#endif

}
于 2009-10-09T23:00:20.213 回答
0

Another way is to use the ErrorMail_Mailing method. When ELMAH sends the email, it runs this first (when present in 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
}

The example above can be via the the transformations in web.Debug.config & web.Release.config. But there is a lot more you can do in this method. See http://scottonwriting.net/sowblog/archive/2011/01/06/customizing-elmah-s-error-emails.aspx

于 2016-07-25T21:49:47.983 回答