无法使用log4net AdoNetAppender插入到SQL Server表中

时间:2016-05-14 17:32:52

标签: sql-server log4net

我试图了解log4net是如何工作的,所以我已经将它添加到我的app.config(我应该添加控制台Appender和FileAppender完美地工作,我只能使用AdoNetAppender。)

如何对此进行调试,以确定至少与db的连接是否成功?

问题是INSERT语句没有执行。 我应该添加

Data Source=MyWorkgroup\SQLEXPRESS;Initial Catalog=MyNewDatabase;User ID=juan;password=juan, 
当我尝试手动连接到SQL Server时,

工作正常,因此不确定是否存在问题。

此外,ConnectionType取自官方网站: https://logging.apache.org/log4net/log4net-1.2.11/release/sdk/log4net.Appender.AdoNetAppender.ConnectionType.html

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" 
                 type="log4net.Config.log4netConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
        <appender name="AdoNetAppender" 
                  type="log4net.Appender.AdoNetAppender">
            <bufferSize value="10" />
            <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <connectionString value="Data Source=MyWorkgroup\SQLEXPRESS;Initial Catalog=MyNewDatabase;User ID=juan;Password=juan;Pooling=False" />
            <commandText value="INSERT INTO Logs([logDate],[logThread],[logMessage]) VALUES(getdate(),'1','1')" />
            <commandType value="Text" />
        </appender>
        <root>
            <level value="DEBUG"/>
            <appender-ref ref="AdoNetAppender"/>
        </root>
    </log4net>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

稍后编辑(使用David推荐的调试方法后):

haacked.com确实非常有趣,很棒!但是,似乎它正在描述我正在指示log4net记录的内容,而不是这些操作的结果(?),如果我读得很好(没有失败/或成功?) e.g。

  

log4net:将Property [ConnectionType]设置为String值   [System.Data.SqlClien t.SqlConnection,System.Data,   Version = 1.0.3300.0,Culture = neutral,PublicKeyToke n = b77a5c561934e089]   log4net:将Property [ConnectionString]设置为String value [Data   源= MyWorkgroup \ SQLEXPRESS;初始   目录= MyNewDatabase;                         用户名= juan;密码=娟;                      Pooling = False] log4net:将Property [CommandText]设置为String值[INSERT INTO Logs([logDate],[logThread],[logMessage])VALUES(getdate(),'1','1')] log4net:   将Property [CommandType]设置为CommandType值[Text] log4net:   创建Appender [AdoNetAppender] log4net:添加名为的appender   [AdoNetAppender]记录器[root]。 log4net:层次结构阈值[]

帮助我获取此信息的代码(如果网站不可用)是:

  <appSettings>    
      <add key="log4net.Internal.Debug" value="true"/>
 </appSettings>

  <system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add
          name="textWriterTraceListener"
          type="System.Diagnostics.TextWriterTraceListener"
          initializeData="C:\temp\log4netdiagn.txt" />
      </listeners>
    </trace>
  </system.diagnostics>

0 个答案:

没有答案