如何让ELMAH登录到MySQL?

如何让ELMAH登录到MySQL?,mysql,asp.net-mvc,elmah,Mysql,Asp.net Mvc,Elmah,我一直在四处寻找这个问题,几乎没有任何答案 以前,我们一直使用ELMAH登录到MicrosoftSQLServer中的一个表,但是我们正在将后端改为使用MySQL(特别是MariaDB) 所以一切都很好,错误已经记录到SQL Server。我已经安装了ELMAH MySql包,并更改了连接字符串以使用新的MySql表。但是,当抛出错误时,不会记录任何错误。我不明白为什么会这样 事实上,这方面几乎没有任何文档。例如,您是否应该自己安装ELMAH.MySQL?还是需要与我以前的ELMAH配置配合使用

我一直在四处寻找这个问题,几乎没有任何答案

以前,我们一直使用ELMAH登录到MicrosoftSQLServer中的一个表,但是我们正在将后端改为使用MySQL(特别是MariaDB)

所以一切都很好,错误已经记录到SQL Server。我已经安装了ELMAH MySql包,并更改了连接字符串以使用新的MySql表。但是,当抛出错误时,不会记录任何错误。我不明白为什么会这样

事实上,这方面几乎没有任何文档。例如,您是否应该自己安装ELMAH.MySQL?还是需要与我以前的ELMAH配置配合使用

ELMAH网络配置:

  <connectionStrings>
    <!-- TODO: Replace the ****'s with the correct entries -->
    <add name="elmah-mysql" connectionString="server=web01;UserId=root;Password=Tr@nsf0rmers;database=elmah; CharSet=utf8;Persist Security Info=True" />
  </connectionStrings>

<elmah>
    <security allowRemoteAccess="0" />
  <errorLog type="Elmah.MySqlErrorLog, Elmah.MySql" connectionStringName="elmah-mysql" />
  </elmah>

<appSettings>
    <add key="elmah.mvc.disableHandler" value="false" />
    <add key="elmah.mvc.disableHandleErrorFilter" value="true" />
    <add key="elmah.mvc.requiresAuthentication" value="false" />
    <add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
    <add key="elmah.mvc.allowedRoles" value="*" />
    <add key="elmah.mvc.allowedUsers" value="*" />
    <add key="elmah.mvc.route" value="elmah" />
    <add key="elmah.mvc.UserAuthCaseSensitive" value="true" />
  </appSettings>

<httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
    </httpModules>

<modules>
      <remove name="FormsAuthentication" />
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
      <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" preCondition="integratedMode" />
    </modules>
它符合这个密码


说真的,有什么用?

没错,我通过做以下几点,成功地让它工作了。我卸载了所有ELMAH引用。重新安装了它们,安装了MySQL ELMAH包,然后更改了连接字符串,一切正常。就这样

请遵循以下指南:


然后转换成MySQL,在那里他使用SQLite。

你安装了哪些软件包?我有同样的问题:)@Rolando Elmah.MySQL
public class ElmahHandledErrorLoggerFilter : IExceptionFilter {
        public void OnException(ExceptionContext context) {
            // Log only handled exceptions, because all other will be caught by ELMAH anyway.
            if (context.ExceptionHandled)            
            ErrorSignal.FromCurrentContext().Raise(context.Exception);  
        }
    }