如何将ELMAH日志创建到MySQL?
我们已经与ASP.NET MVC 3集成,作为记录应用程序错误的一种方法。但是,我们还没有持久化日志。为此,我们希望将ELMAH的日志条目存储在MySQL中,因为我们已经将此数据库服务器的一个实例用于其他目的如何将ELMAH日志创建到MySQL?,mysql,asp.net-mvc,logging,elmah,Mysql,Asp.net Mvc,Logging,Elmah,我们已经与ASP.NET MVC 3集成,作为记录应用程序错误的一种方法。但是,我们还没有持久化日志。为此,我们希望将ELMAH的日志条目存储在MySQL中,因为我们已经将此数据库服务器的一个实例用于其他目的 我们如何配置ELMAH,使其使用MySQL保存日志?您可以在MySQL上安装NuGet软件包ELMAH PM>安装包elmah.mysql 您必须对其进行配置。来自Elmah.MySql.txt,它是包的一部分 请注意,为了完成ELMAH.MySql的安装,您必须执行以下操作: 确保您已从
我们如何配置ELMAH,使其使用MySQL保存日志?您可以在MySQL上安装NuGet软件包
ELMAH
PM>安装包elmah.mysql
您必须对其进行配置。来自Elmah.MySql.txt,它是包的一部分
请注意,为了完成ELMAH.MySql的安装,您必须执行以下操作:
<elmah>
<security allowRemoteAccess="false" />
<errorLog type="Elmah.MySqlErrorLog, Elmah" connectionStringName="elmah-mysql" />
</elmah>
这需要一个新的连接字符串。。。elmah已经为我添加了模板,我只需要将正确的凭据放入:
<connectionStrings>
<add name="DevDB" connectionString="Server=localhost; Database=NZ; Uid=myuserid; Pwd=mypwd" providerName="MySql.Data.MySqlClient"/>
<add name="elmah-mysql" connectionString="Server=localhost; Database=elmah; Uid=myuserid; Pwd=mypwd" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
并运行脚本来创建表和过程。还要注意,这些脚本默认情况下,创建一个名为elmah的DB。。。如果要更改数据库名称,请确保它与上面连接字符串中的数据库一致
我要做的就是让它运行
注意:需要注意的一件事是在上面的连接字符串中使用小写字符作为数据库名称,因为MySQL数据库名称是小写的。。。起初它确实对我有用,但后来它坏了,我不得不改变它
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>