zoukankan      html  css  js  c++  java
  • Log4Net 无法写入到SqlServer

    直接进入正题:

      今天在测试使用Log4Net写入到数据库的时候,发现一直无法写入到数据库中,而且程式也没有报任何错误。

      配置信息如下:

     <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"/>,结果还是没有数据。

      后来我在网上查找了一下发现了这样一句话<bufferSize value="10" />,表示是记录10 条到缓冲区,满10条后再写入SQL server ,也就是说我写的数据必须达到了10条,才会统一记录到数据库中,后来我修改了<bufferSize value="100" />的value值,将其改为了1,再测试插入成功。

      截图如下

      

    希望可以帮到大家!谢谢!

  • 相关阅读:
    锐浪报表应用系列二
    论产品和项目
    我的处女作
    今天晚上吃什么?
    今日晚餐
    PYTHON+数据库
    周末看到小区有个阿姨溜羊驼
    AD 10使用技巧---新学习
    使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】
    【开发随感】【一】【开发基础的基础】
  • 原文地址:https://www.cnblogs.com/wujiadexingfu/p/7467823.html
Copyright © 2011-2022 走看看