前面两篇短文向大家介绍了如何使用log4net,以及如何将log4net记录到文本文件中。下面本文将向大家介绍如何将log4net记录到数据库中。

经过前面的介绍,我想大家对使用log4net的过程已经很熟悉了,下面直接贴上log4net存日志到数据库的配置内容:

将前面log4net.config文件的root节点和appender节点替换为下面的内容,

<root>
      <level value="ALL"/>
      <appender-ref ref="ADONetAppender"/>
    </root>

    <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
      <bufferSize value="1"/>
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <connectionString value="Data Source=(local)\SQLSERVER;Initial catalog=HW-GuideToSite-dev;Integrated Security=False;Uid=sa;Pwd=*********;
" providerName="System.Data.SqlClient"/>
       <commandText value="INSERT INTO Log ([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>

其余步骤和前面的保存日志到文件的步骤一样(在项目中引入log4net文件,创建logger对象,使用logger的记录日志函数)。

和前面不同的地方是:你得在appender节点配置的连接字符串对应的数据库中建立相应的log日志表,本文的日志表创建语句是:

CREATE TABLE [dbo].[Log](
    ,) NOT NULL,
    ) NULL,
    ) NOT NULL,
    ) NOT NULL,
    ) NOT NULL,
    [Message] [nvarchar](max) NOT NULL,
    [Exception] [nvarchar](max) NOT NULL
) 

相对于保存日志到文档的配置来说,保存日志到数据库的配置非常的简单,只需要配置好数据库连接字符串,以及连接类型,另外设置好保存到log日志表的insert语句以及语句中的参数就可以使用了。

最新文章

  1. hdoj 1576
  2. ue4 Worldmachine 结合使用
  3. 数据库事物四大特性-ACID
  4. 模仿QQ空间 网页设计
  5. CentOS 6.5下搭建NFS文件服务器
  6. UIViewController的生命周期(图解)
  7. BZOJ 1492 货币兑换Cash
  8. GDB调试方法(转)
  9. LeetCode OJ Remove Duplicates from Sorted Array II
  10. Java面向对象 包
  11. 配置JBoss环境变量
  12. ZOJ 3228 Searching the String(AC自动机)
  13. 【Android应用开发】RecycleView API 翻译 (文档翻译)
  14. Eclipse下运行maven项目失败且Tomcat服务器也启动不了
  15. python之asyncio
  16. 超级简单的数据压缩算法—LZW算法
  17. 设置cookie,获取cookie,删除cookie,修改cookie
  18. .Net调用QQ邮箱发送邮件
  19. 如何花样展示自己的摄影作品?强大的WebGL能力展示
  20. Codeforces 862C - Mahmoud and Ehab and the xor

热门文章

  1. 关于Js脚本的延迟执行
  2. HDU 4861 Couple doubi (数论 or 打表找规律)
  3. Spring MVC MultiActionController example
  4. Spring AOP Interceptor transaction is not working
  5. MongoDB Windows 下安装部署
  6. POJ 2481 Cows (数组数组求逆序对)
  7. [转]Freemarker数据类型转换
  8. [置顶] 很荣幸被选为2013年度 CSDN博客之星评选,如果觉得我的文章可以,请投我一票!
  9. python的locals()妙用
  10. DataGridView 添加ComboBox