Log4Net 沒法寫入到SqlServer

直接進入正題:

  今天在測試使用Log4Net寫入到數據庫的時候,發現一直沒法寫入到數據庫中,並且程式也沒有報任何錯誤。數據庫

  配置信息以下:app

 <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="100" />
    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="data source=.;initial catalog=test2;integrated security=false;persist security info=True;User ID=sa;Password=123456" />
     <commandText value="INSERT INTO Log2 ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
      </parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%thread" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@log_level" />
        <dbType value="String" />
        <size value="50" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@logger" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%logger" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@exception" />
        <dbType value="String" />
        <size value="2000" />
        <layout type="log4net.Layout.ExceptionLayout" />
      </parameter>
    </appender>
View Code

  我使用的是4.0的框架,因此我覺得是 <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />這句話出現了錯誤,將其修改爲了框架

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data,Version=4.0.30319.33440,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>,結果仍是沒有數據。ide

  後來我在網上查找了一下發現了這樣一句話<bufferSize value="10" />,表示是記錄10 條到緩衝區,滿10條後再寫入SQL server ,也就是說我寫的數據必須達到了10條,纔會統一記錄到數據庫中,後來我修改了<bufferSize value="100" />的value值,將其改成了1,再測試插入成功。測試

  截圖以下spa

  

但願能夠幫到你們!謝謝!code

相關文章
相關標籤/搜索