将日志保存到数据库只web.config中的配置有一点改进,其它的都是相同的。

第1步,创建日志表

  1. create table tb_log (
  2. Datetime timestamp(3),
  3. Thread varchar2(255),
  4. Log_Level varchar2(255),
  5. Logger varchar2(255),
  6. Message varchar2(4000)
  7. );

第2步,配置web.config

  1. <configuration>
  2. <configSections>
  3. <section name="log4net"
  4. type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  5. </configSections>
  6. <log4net>
  7. <root>
  8. <level value="ALL"/>
  9. <appender-ref ref="AdoNetAppenderOracle"/>
  10. </root>
  11. <appender name="AdoNetAppenderOracle" type="log4net.Appender.AdoNetAppender">
  12. <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  13. <connectionString value="data source=[mydatabase];User ID=[user];Password=[password]" />
  14. <commandText value="INSERT INTO Log (Datetime,Thread,Log_Level,Logger,Message) VALUES (:log_date, :thread, :log_level, :logger, :message)" />
  15. <bufferSize value="128" />
  16. <parameter>
  17. <parameterName value=":log_date" />
  18. <dbType value="DateTime" />
  19. <layout type="log4net.Layout.RawTimeStampLayout" />
  20. </parameter>
  21. <parameter>
  22. <parameterName value=":thread" />
  23. <dbType value="String" />
  24. <size value="255" />
  25. <layout type="log4net.Layout.PatternLayout">
  26. <conversionPattern value="%thread" />
  27. </layout>
  28. </parameter>
  29. <parameter>
  30. <parameterName value=":log_level" />
  31. <dbType value="String" />
  32. <size value="50" />
  33. <layout type="log4net.Layout.PatternLayout">
  34. <conversionPattern value="%level" />
  35. </layout>
  36. </parameter>
  37. <parameter>
  38. <parameterName value=":logger" />
  39. <dbType value="String" />
  40. <size value="255" />
  41. <layout type="log4net.Layout.PatternLayout">
  42. <conversionPattern value="%logger" />
  43. </layout>
  44. </parameter>
  45. <parameter>
  46. <parameterName value=":message" />
  47. <dbType value="String" />
  48. <size value="4000" />
  49. <layout type="log4net.Layout.PatternLayout">
  50. <conversionPattern value="%message" />
  51. </layout>
  52. </parameter>
  53. </appender>
  54. </log4net>
  55. </configuration>

第3步,开始测试。

参考网站:
http://logging.apache.org/log4net/release/config-examples.html

本文转自 彭金华  51CTO博客,原文链接:http://blog.51cto.com/pengjh/584533

log4net进阶手札(三):保存日志到oracle中相关推荐

  1. log4net进阶手札(二):基本用法

    本节将主要在WebSite中,对保存日志在文本文件的基本用法来进行介绍,并结合WebForm的初始化方式区别进行说明,解决方案如下图所示: 一.WebSite应用第1步:配置Web.Config文件, ...

  2. SpringBoot2.1.4整合log4j2保存日志到MySQL中

    一.框架版本 springboot2.1.4,log4j2(2.11.2),MySQL5.7 maven依赖请自行上网百度,本文不再赘述,网上大多是基于log4j2-spring.xml方式配置jdb ...

  3. oracle近三个月内,在oracle中的前三个月SQL

    我有以下的sql,它给了我最后一整个三个月的人处理的档案报告,但我想采用它,以便从前三个月获得这些,例如,当我运行现在我应该从2011年10月11日和12日以及2012年1月2日和3日的4月份获得档案 ...

  4. log4net进阶手札(四):保存自定义对象到oracle

    有些时候,log4net内置的日志信息不能满足实际需要,在log4net中可以保存自定义对象,主要是通过扩展内置的两个类:PatternLayout类和PatternLayoutConverter类, ...

  5. oracle连接失败日志文件,Oracle中的联机日志文件发生不同程度损坏的恢

    ORACLE通过redo来保证数据的重演,从而使得在数据库故障的时候,可以恢复,在数据库中redo文件至关重要.????????? 1.对于联机日志损坏要根据日志状态进行分析,联机日志一般分为Curr ...

  6. form6i支持 oracle 11g,使用Form6i保存文件到Oracle中的Blob字段

    oracle|字符串1.在数据库中建一个新表用于测试.CREATE TBALE TB_TEST ( ID NUMBER, BLB BLOB);COMMIT;2.往TB_TEST表中插入一条新记录用于测 ...

  7. Android日志[进阶篇]三-Logcat 命令行工具

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  8. Android进阶:一、日志打印和保存策略

    前言: 项目开始没有做好日志统计工作,每次有问题后端都得找前端对接,严重影响工作效率.最近特地在项目中加上日志保存策略,在此分享,供需要的人学习. 一.更详细的日志信息 既然决定自定义一个log,那我 ...

  9. oracle 重做日志内容,Oracle重做日志文件基础

    本文以下所述内容是根据对"Oracle Database Administrator's Guide 11g Release 2 (11.2)" -- " 管理redo ...

最新文章

  1. 【直播回顾】蚂蚁金服高级开发工程师萧恺:IDEA 插件开发入门教程
  2. java 打开服务器excel文件_Java中上传excel文件并在服务器端读取存入数据库
  3. 键盘谍影 键盘监视器的原理和防范
  4. Linux流量监控工具 - iftop用法
  5. 10个出色的NoSQL数据库
  6. jython mysql_Jython
  7. 小看--单例设计模式
  8. 电子学会Python(二至五级)
  9. javaWeb RSA加密使用
  10. WPF中的命令与命令绑定(二)
  11. win7创建mysql odbc数据源_Win7下如何创建odbc数据源
  12. Redis 雪崩,穿透,击穿
  13. 用热点上网属于计算机网络吗,如何使用手机热点连接笔记本电脑上网?
  14. 智能卡卡发卡流程(收藏2)
  15. 我的个人成长(1-3年)
  16. 电话机器人成骚扰机器?程序员可不背锅
  17. 使用Helm在k8s集群上部署以太坊私有链
  18. SAP 后台表查询方法及消息报错定位方法
  19. NaN是什么? NaN == NaN 的结果是什么?为什么?
  20. pl/sql中创建存储过程并执行

热门文章

  1. 手机邮箱登录腾讯企业邮箱
  2. 【计算机毕业设计】018实习记录
  3. Discuz!开发之将论坛首页设置为某个版块页面的方法
  4. matlab实现冲激函数(分数处冲激也行)
  5. linux限制ssh 无公网ip白名单限制 基于网段
  6. 前端实现在线预览、编辑Office文档(vue版)
  7. pg备份还原工具--pg_rman
  8. 高效操作字串的String Reference类
  9. 【计算机组成原理】=【考研复试面试题】- 整合全家桶
  10. 装在笔记本里的私有云环境:准备篇