在ASP.NET MVC 3中使用Log4net,但是否有任何日志未存储在sql server数据库中?

在ASP.NET MVC 3中使用Log4net,但是否有任何日志未存储在sql server数据库中?,asp.net,asp.net-mvc-3,log4net,Asp.net,Asp.net Mvc 3,Log4net,我已经执行了所有可能的步骤,如web.config中的配置、manage global.aspx页面等,但记录未存储在数据库表中。 当我们输入username=“sameer”和password=“singh123”时,我有一个名为Account controller的控制器,但我输入了错误的密码,我想将此错误日志保存到数据库中 <logger name="SMSBA"> <appender-ref ref="ADONetAppender" /> <

我已经执行了所有可能的步骤,如web.config中的配置、manage global.aspx页面等,但记录未存储在数据库表中。 当我们输入username=“sameer”和password=“singh123”时,我有一个名为Account controller的控制器,但我输入了错误的密码,我想将此错误日志保存到数据库中

  <logger name="SMSBA">
    <appender-ref ref="ADONetAppender" />
  </logger>
  <param name="File" value="log-file.txt" />
  <param name="AppendToFile" value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <add name="SMSBA" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=SMSBA;" providerName="System.Data.SqlClient" />
  <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%thread" />
  </parameter>
  <parameter>
    <parameterName value="@log_level" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout" value="%level" />
  </parameter>
  <parameter>
    <parameterName value="@logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%logger" />
  </parameter>
  <parameter>
    <parameterName value="@message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout" value="%message" />
  </parameter>
</appender>
<root>
  <level value="All"/>
  <appender-ref ref="AdoNetAppender_SqlServer"/>
</root>

这是控制器代码

如果没有更多信息,我不确定会发生什么,但我会给你一个关于如何排除故障的建议

  <logger name="SMSBA">
    <appender-ref ref="ADONetAppender" />
  </logger>
  <param name="File" value="log-file.txt" />
  <param name="AppendToFile" value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <add name="SMSBA" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=SMSBA;" providerName="System.Data.SqlClient" />
  <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%thread" />
  </parameter>
  <parameter>
    <parameterName value="@log_level" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout" value="%level" />
  </parameter>
  <parameter>
    <parameterName value="@logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%logger" />
  </parameter>
  <parameter>
    <parameterName value="@message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout" value="%message" />
  </parameter>
</appender>
<root>
  <level value="All"/>
  <appender-ref ref="AdoNetAppender_SqlServer"/>
</root>
在web.config上添加以下行

  <logger name="SMSBA">
    <appender-ref ref="ADONetAppender" />
  </logger>
  <param name="File" value="log-file.txt" />
  <param name="AppendToFile" value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="10MB" />
  <staticLogFileName value="true" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <add name="SMSBA" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=SMSBA;" providerName="System.Data.SqlClient" />
  <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%thread" />
  </parameter>
  <parameter>
    <parameterName value="@log_level" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout" value="%level" />
  </parameter>
  <parameter>
    <parameterName value="@logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%logger" />
  </parameter>
  <parameter>
    <parameterName value="@message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout" value="%message" />
  </parameter>
</appender>
<root>
  <level value="All"/>
  <appender-ref ref="AdoNetAppender_SqlServer"/>
</root>
<!--Enables log4net internal debugging-->
<appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
</appSettings>

<!--Sets an output file for the internal debugging. Without this, 
 it outpusts to the console-->
<system.diagnostics>
  <trace autoflush="true">
    <listeners>
      <add 
        name="textWriterTraceListener" 
        type="System.Diagnostics.TextWriterTraceListener" 
        initializeData="C:\tmp\log4net.txt" />
    </listeners>
  </trace>
</system.diagnostics>


@user1651652:根据您提供的信息,这是我能做的最好的了。基本上你说你做的每件事都很好,但是log4net不起作用。对我们来说不是很有用。这将帮助您了解问题所在。我已经提供了与此问题相关的所有代码;lem os plz尽快为我提供解决方案发布的web.config无效。它看起来像web.config的一部分,甚至可能该部分已损坏(与)