在本地开发时向该特定用户发送错误电子邮件(使用 Elmah)

本文关键字:错误 电子邮件 Elmah 使用 用户 开发 | 更新日期: 2023-09-27 17:56:28

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

我们都在使用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
    }

在本地开发时向该特定用户发送错误电子邮件(使用 Elmah)

最好的方法可能是使用外部配置文件。因此,您可以将 web.config 更改为:

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

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

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

当然,您的生产 Web 服务器上也有生产值。

我仍然不明白为什么您希望将电子邮件发送给开发人员。难道死亡的呐喊屏幕还不足以引起警觉:)