首页 新闻 赞助 找找看

log4 就是写不到数据库去 数据库 sqlserver2008R2,我是真无语了

0
悬赏园豆:10 [已解决问题] 解决于 2015-06-19 17:58

配置如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <appSettings>
  </appSettings>
  <log4net>
    <!--定义输出到文件中-->
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <!--定义文件存放位置-->
      <file value="D:/log4netfile.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd-HH:mm:ss" />
      <layout type="log4net.Layout.PatternLayout">
        <!--每条日志末尾的文字说明-->
        <footer value="by DMS" />
        <!--输出格式-->
        <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
        <conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />
      </layout>
    </appender>
    <!--定义输出到控制台命令行中-->
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <!--定义输出到windows事件中-->
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <!--定义输出到数据库中,这里举例输出到SQLSERVER数据库-->
    <appender name="ADONetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1" />
      <connectionType value="System.Data.OleDb.OleDbConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <connectionString value="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=xxx;Password=xxx;Initial Catalog=xxx;Data Source=xxx" />
      <commandText value="INSERT INTO Log4Net([Date],[Thread],[logLevel],[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" 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>
      <parameter>
        <parameterName value="@exception" />
        <dbType value="String" />
        <size value="2000" />
        <layout type="log4net.Layout.ExceptionLayout" />
      </parameter>

    </appender>
    <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
    <root>
      <level value="ALL" />
      <!--文件形式记录日志-->
      <appender-ref ref="LogFileAppender" />
      <!--控制台控制显示日志--><!--
      <appender-ref ref="ConsoleAppender" />
      --><!--Windows事件日志--><!--
      <appender-ref ref="EventLogAppender" />-->
      <!--输出到数据库 -->
      <!--<appender-ref ref="ADONetAppender" />-->
    </root>
    <logger name="DBEXECUTEERROR">
      <level value ="ALL"/>
      <appender-ref ref="ADONetAppender" />
    </logger>
  </log4net>
</configuration>
问题补充:

写入文件是Ok的。。。

Постой!的主页 Постой! | 小虾三级 | 园豆:1084
提问于:2015-06-19 16:14
< >
分享
最佳答案
0

connectionString和connectionType匹配么?

收获园豆:10
幻天芒 | 高人七级 |园豆:37175 | 2015-06-19 17:11

匹配。原本不匹配 我专门 跟了 conn 拿的 type

Постой! | 园豆:1084 (小虾三级) | 2015-06-19 17:16

我这边 .net 3.5的 引用 dll 1.0 的 但我换了 3.5还是没变化、、我现在是有点糊涂了。。

Постой! | 园豆:1084 (小虾三级) | 2015-06-19 17:17

@gakki: 建议直接copy官方demo,修改连接就好。https://logging.apache.org/log4net/release/config-examples.html

幻天芒 | 园豆:37175 (高人七级) | 2015-06-19 17:22

@幻天芒: 搞定了 sql连接 ver 问题。。我这边是2.0.0.0.。。。疯掉了 分给你了。。。

Постой! | 园豆:1084 (小虾三级) | 2015-06-19 17:57

@gakki: 我比较好奇,为什么连接sqlserver你用Oledb。

幻天芒 | 园豆:37175 (高人七级) | 2015-06-22 17:46

@幻天芒: 框架离这么搞的,框架不是我写的。我直接copy了连接。据说Oledb能够兼容多数据库。我反正是没觉得。。

Постой! | 园豆:1084 (小虾三级) | 2015-06-23 10:50

@gakki: 有限的多种。

幻天芒 | 园豆:37175 (高人七级) | 2015-06-23 11:23

@幻天芒: 这个我也没办法,如果是我做,我更倾向分别 封 连接。用哪个调哪个  而不是这么一刀切。。。这个我感觉不靠谱。。。

Постой! | 园豆:1084 (小虾三级) | 2015-06-23 11:37

@gakki: 是啊~换个数据库,就换个appender就行了。

幻天芒 | 园豆:37175 (高人七级) | 2015-06-23 13:49

@幻天芒: 有些东西不是俺能决定的。。。。

Постой! | 园豆:1084 (小虾三级) | 2015-06-23 14:06

@gakki: 明白,哈哈~

幻天芒 | 园豆:37175 (高人七级) | 2015-06-23 15:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册