0

我正在使用 Elmah,我希望发生的是,当我们的多个开发人员之一在本地运行他们的项目时,他们只会收到从该本地实例生成的任何错误电子邮件,如果在实时服务器上生成错误,请发送电子邮件不同的(组)电子邮件。现在我们只是使用(可怕的)方法,每个人都有自己的 web.config,不应该(但有时会)提交给我们的 Repo,然后在部署到 live 时更改电子邮件字符串。

我们都在使用 VS 2010 和 Cassini,但开发人员可以在他们的工作计算机或通过 VPN 连接的家用计算机上工作,但他们在家用计算机上的登录名并不能反映他们的工作计算机用户名。

到目前为止,我基本上只有这个 ELMAH 电子邮件设置:

<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ElmahDb" />
<errorMail from="no-reply@mydomain.com" to="myemail@mydomain.com" subject="Project Error" smtpPort="0" async="false" />

Application_Start 中的一个空方法:

protected void Application_Start()
    {
        Config.SetErrorEmailReceiver();
    }

public static void SetErrorEmailReceiver()
    {
        //some logic
    }
4

1 回答 1

2

最好的方法可能是使用外部配置文件。所以,你会改变你的 web.config 说:

<errorMail configSource="elmah-errorMail.config" /> 

然后每个开发人员将拥有自己的该文件的副本,其中包含:

<errorMail from="no-reply@mydomain.com" to="myemail@mydomain.com" subject="Project Error" smtpPort="0" async="false" />

当然,您的生产网络服务器上也有生产价值。

不过,我仍然不明白您为什么要将电子邮件发送给开发人员。一个黄色的死亡屏幕还不够警报吗:)

于 2013-01-29T18:51:22.457 回答