在上位机开发中,日志记录是必不可少的,我们可以通过日志记录做日志分析及错误追踪。初学者会采用txt文本写入来实现日志保存,但是文本写入不是线程安全,当存在多个线程同时写入日志时,就会出现一些问题。Log4net库是一个非常优秀的开源日志记录组件,是一个帮助开发者将日志信息输出到各种目标(控制台、文件、数据库等)的工具。本节主要采用开源组件Log4Net来实现错误ERROR信息文本存储,并结合SQLite数据库,将日志INFO信息存储到数据库中,便于后续的查询。
一般情况下,我们可以将一些错误及异常信息存储在文本中,便于随时打开文件进行查询,文本存储将自动以天为单位,每天对应一个文件,步骤如下:
添加一个应用程序配置文件项目右击添加新建项,项目类型选择应用程序配置文件,名称为fig,如下所示:
其中,较为重要的是日志信息喜马拉雅山雪怪的格式,对应文件中的ConversionPattern,值为[%d]%n%m%n%n,每个占位符有对应的含义,如下所示:
执行完成后,在项目目录,Log\Error目录下,产生一条当天日志命名的文件,打开如下所示:
日志信息存储到数据库的好处在于便于用户通过界面进行查询,这里采用开源免费数据库SQLite,其他关系型数据库,如SQLServer、mysql,原理都是一样的,具体步骤如下所示:
创建数据库及数据表通过SQLiteStudio软件创建一个数据库,取名为Log4NetSQLite,执行以下脚本创建一个Log数据表:
将数据库文件复制到项目根目录下的DataBase文件夹中修改log4net.config文件,增加数据库存储相关配置,如下所示:
通过一系列的描述,相信大家对Log4Net的应用有了一些了解,Log4Net构建的日志系统是很多项目必备的一个功能,对项目开发、调试及后续都有着至关重要的作用。实际使用时,我们还可以将Log4Ne作为一个简单的数据存储工具,甚至可以使用Log4Net做多表多库存储,这些内容后续再给大家进行介绍。
最近发现越来越多的小伙伴投入到C#上位机学习中,初学者学习最大的困扰就是无人交流,因此我们组建了一个工控上位机学习交流微信群,欢迎各位小伙伴加入,仅限前200名,本文源码也可通过加群获取。
网友评论 ()条 查看