Log4Net - 用于sqlite不插入的AdoNetAppender

时间:2015-12-02 02:55:20

标签: c# sqlite log4net adonetappender

我正在尝试使用sqlite db文件实现log4net,但是当我记录某些事情时没有任何反应。

我的配置:

var date = new Date("2015-06-22T18:08:22+05:30");
var dateString = date.format("dd-mm-yyyy hh:MM:ss TT Z");
alert(dateString);

我把配置文件中的调试标志设为true,我得到了这个thrace:

<log4net>
      <appender name="sqlite-appender" type="log4net.Appender.AdoNetAppender"> 
      <bufferSize value="1" />
      <connectionType value="System.Data.SQLite.SQLiteConnection, System.Data.SQLite" />
      <connectionString name = "DbConn" value="Data Source=C:[FilePath]\DebugLog.db;Synchronous=Off " />
      <commandText value="INSERT INTO debug (Date, Level, Logger, Message) VALUES (@Date, @Level, @Logger, @Message)" />
      <immediateFlush value="true" />
      <parameter>
        <parameterName value="@Date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
    </parameter>
    <parameter>
        <parameterName value="@Level" />
        <dbType value="String" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%level" />
        </layout>
    </parameter>
    <parameter>
        <parameterName value="@Logger" />
        <dbType value="String" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%logger" />
        </layout>
    </parameter>
    <parameter>
        <parameterName value="@Message" />
        <dbType value="String" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%message" />
        </layout>
    </parameter>
   </appender>

    <root>
      <level value="DEBUG" />
      <appender-ref ref="sqlite-appender" />
    </root>
  </log4net>

当我使用FileAppender它工作正常我不知道会发生什么

1 个答案:

答案 0 :(得分:1)

我使用的是与ADONetAppender存在已知问题的1.2.14版本。

所以我只是降级到1.2.13并且工作正常。

首先卸载版本1.2.14:

PM> Uninstall-Package log4net Uninstall-Package

然后安装以前的版本:

PM> Install-Package log4net -Version 2.0.3

感谢stuartd给我答案。