![基于Log4Net实现日志信息存储至数据库_第1页](http://file4.renrendoc.com/view8/M01/1A/17/wKhkGWbs5JKANPoyAAEy9ceIELk246.jpg)
![基于Log4Net实现日志信息存储至数据库_第2页](http://file4.renrendoc.com/view8/M01/1A/17/wKhkGWbs5JKANPoyAAEy9ceIELk2462.jpg)
![基于Log4Net实现日志信息存储至数据库_第3页](http://file4.renrendoc.com/view8/M01/1A/17/wKhkGWbs5JKANPoyAAEy9ceIELk2463.jpg)
![基于Log4Net实现日志信息存储至数据库_第4页](http://file4.renrendoc.com/view8/M01/1A/17/wKhkGWbs5JKANPoyAAEy9ceIELk2464.jpg)
![基于Log4Net实现日志信息存储至数据库_第5页](http://file4.renrendoc.com/view8/M01/1A/17/wKhkGWbs5JKANPoyAAEy9ceIELk2465.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引言
在上位机开发中,日志记录是必不可少的,我们可以通过日志记录做日志分析及错误追踪。初学者会采用txt文本写入来实现日志保存,但是文本写入不是线程安全,当存在多个线程同时写入日志时,就会出现一些问题。Log4net库是.Net下一个非常优秀的开源日志记录组件,是一个帮助开发者将日志信息输出到各种目标(控制台、文件、数据库等)的工具。本节主要采用开源组件Log4Net来实现错误ERROR信息文本存储,并结合SQLite数据库,将日志INFO信息存储到数据库中,便于后续的查询。2、开发准备首先新建一个Windows窗体应用,取名为.Log4NetSQLitePro,UI界面设计如下所示:通过Nuget添加Log4Net开源组件,如下所示:通过Nuget添加SQLite组件,如下所示:3、文本存储一般情况下,我们可以将一些错误及异常信息存储在文本中,便于随时打开文件进行查询,文本存储将自动以天为单位,每天对应一个文件,步骤如下:添加一个应用程序配置文件项目右击添加新建项,项目类型选择应用程序配置文件,名称为log4net.config,如下所示:配置文件编写日志配置文件增加相关节点,如下所示:配置文件规定了日志信息的相关属性、存储方式、日志内容格式等,配置信息如下所示:其中,较为重要的是日志信息的格式,对应上面文件中的ConversionPattern,值为"[%d]%n%m%n%n",每个占位符有对应的含义,如下所示:字符格式说明%m(message)输出的日志消息%n(newline)换行%d(datetime)输出当前语句运行的时刻%r(runtime)输出程序执行到当前消耗的毫秒数%t(threadid)当前语句所在的线程ID%p(priority)日志的当前日志级别%c(class)当前日志对象的名称%L输出语句所在的行号%F输出语句所在的文件名%-10最小长度为10,不够空格填充配置文件属性中的复制到输出目录,设置为始终复制或如果较新则复制,如下图所示:项目的AssemblyInfo.cs类中添加一行代码,如下所示:添加一个LogHelper类,编写2个Error的方法,如下所示:在ini文本存储按钮事件下,调用错误日志写入,如下所示:执行完成后,在项目目录,Log\Error目录下,产生一条当天日志命名的文件,打开如下所示:4、SQLite存储日志信息存储到数据库的好处在于便于用户通过界面进行查询,这里采用开源免费数据库SQLite,其他关系型数据库,如SQLServer、mysql,原理都是一样的,具体步骤如下所示:创建数据库及数据表通过SQLiteStudio软件创建一个数据库,取名为Log4NetSQLite,执行以下脚本创建一个Log数据表:将数据库文件复制到项目根目录下的DataBase文件夹中修改log4net.config文件,增加数据库存储相关配置,如下所示:bufferSize:日志缓存写入条数设置为0时只要有一条就立刻写到数据库connectionString:SQLite指向的是数据库文件的绝对路径LogHelper类中增加一个Info方法,如下所示:在SQLite存储按钮事件下,调用Info日志写入,如下所示:执行完成后,打开数据库,查看是否有相关记录:
5、实际应用
通过上面一系列的描述,相信大家对Log4Net的应用有了一些了解,Log4Net构建的日志系统是很多项目必备的一个功能,对项目开发、调试及后续维护都有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《非完全竞争市场》课件
- 思维导图在初中化学复习课的应用
- 专业选择指导模板
- 微创穿刺引流联合尿激酶治疗慢性硬膜下血肿的效果观察
- 开创全区民族团结进步事业新局面
- 重阳节家庭庆祝指导模板
- 医保行业企业文化培训模板
- 2025年节能型空气分离设备项目发展计划
- 转科申请书范文
- 复职申请书范文
- GB/T 7031-2005机械振动道路路面谱测量数据报告
- 马工程教材《公共财政概论》PPT-第十二章 财政体制
- GB/T 17614.1-2015工业过程控制系统用变送器第1部分:性能评定方法
- 隐匿性阴茎的诊疗和治疗课件
- 2022届北京市东城区高三语文一模语文试卷讲评课件
- 先天性肾上腺皮质增生症(CAH)课件
- 水利工程设计变更表格
- 电缆用PP填充绳标准
- 《工程热力学》(第四版)配套教学课件
- 03fusionsphere虚拟化场景概要设计模板hld
- 火灾接警处置流程图
评论
0/150
提交评论