Asp.net mvc 4 根据使用的数据库环境记录ELMAH错误

Asp.net mvc 4 根据使用的数据库环境记录ELMAH错误,asp.net-mvc-4,web-config,elmah,elmah.mvc,Asp.net Mvc 4,Web Config,Elmah,Elmah.mvc,我正在使用ELMAH在数据库中记录错误。我这里的问题是ELMAH总是在我的生产数据库中记录错误。 我的数据库中有两个连接字符串,一个用于“Live Environment”,另一个用于“Dev Environment” 其余的ELMAH代码是我从ELMAH connection提供的站点复制的。我已经放置了所有必需的配置,这是一个日志错误,但仅适用于Live DB 我检查过其他网站,但如果我们使用指向所使用环境的多个数据库(即Live或Dev),则没有一个网站有任何信息 这方面的任何帮助都

我正在使用ELMAH在数据库中记录错误。我这里的问题是ELMAH总是在我的生产数据库中记录错误。 我的数据库中有两个连接字符串,一个用于“Live Environment”,另一个用于“Dev Environment”


其余的ELMAH代码是我从ELMAH connection提供的站点复制的。我已经放置了所有必需的配置,这是一个日志错误,但仅适用于Live DB

我检查过其他网站,但如果我们使用指向所使用环境的多个数据库(即Live或Dev),则没有一个网站有任何信息

这方面的任何帮助都将是非常大和有益的


提前感谢。

您需要使用本指南中所述的web.config转换


基本上,您希望连接字符串指向web.config文件中的dev数据库,然后添加web.release.config、web.production.config或任何您的命名模式,指向生产数据库。

您还可以选择对dev和prod使用相同的数据库,只需更改应用程序名称

<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="name" applicationName="dev/test/prod" />

这并不能解决如何以编程方式更改名称或connectionstring的问题,但提供了另一个选项

作为旁注,如果删除应用程序名,它将使用服务器名。通过这种方式,dev的异常只对他们可见,如果dev/test/prod服务器是不同的(不仅仅是不同的域),那么它将自动由服务器名称分隔

<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="name" applicationName="dev/test/prod" />