波斯马BOSSMA Information Technology

VeryCodes.Log让日志记录和读取变的更简单

发布时间:2011年8月1日 / 分类:DOTNET / 5,426 次浏览 / 评论

在.NET程序开发领域,log4net和nlog是两个十分优秀的日志组件,并且被广泛使用。当然还有一些系统独立开发使用读写文本文件(或其它存储格式)的方式处理日志。所以.net的日志处理方式大体可以分为:log4net、nlog和系统自定义日志处理三种方式。VeryCodes.Log并没有提供新的日志处理方式,这个类库提供了对以上三种方式的集成,达到使日志处理更简单,更统一的目的。

一、程序结构

VeryCodes.Log定义了两个接口ILogWriter和ILogReader。ILogWriter用于记录日志;ILogReader用于读取日志。

图1:ILogWriter

如图1中所示,所有日志记录类都实现了ILogWriter,目前提供了NLogWriter、Log4netWriter和SimpleLogWriter三个日志记录类。

默认的情况下(没有提供相应组件的配置文件)日志都将被记录到文本文件。

图2:ILOgReader

本程序只实现了一个日志读取类,该类只可以读取记录到文本文件的日志。

 

二、日志记录

1、Log4net

使用log4net组件记录日志,首先定义自己的日志记录类,可以定义多个类,这里定义一个类MyLog。

这里使用了继承的方式,当然也可以初始化为一个静态实例。目前log4net必须提供自己的配置文件,今后可能实现零配置。
程序中记录日志:

2、Nlog
使用Nlog组件记录日志,首先定义自己的日志记录类,可以定义多个类,这里定义一个类MyNLog。

这里使用了继承的方式,当然也可以初始化为一个静态实例。可以看到nlog已经实现了零配置,当然也可以在初始化的时候指定配置文件。
程序中记录日志:

3、简单日志记录类:SimpleLogWriter

程序中记录日志:

 

三、日志读取
CommonLogReader实现了读取文本日志的相关方法,支持按照日志级别和日志记录时间过滤日志数据。

日志中的记录需要以时间为开头,才能进行正确的解析。例如使用SimpleLogWriter记录的日志:

这个日志读取程序使用正则表达式进行匹配,可以完整的读取发生异常时的堆栈信息。

如果你觉得还可以,赶紧来试用下吧。  点击这里下载类库

欢迎就使用过程中的问题与我讨论。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《VeryCodes.Log让日志记录和读取变的更简单

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论