关于Log4Net日志记录组件的一点应用

几乎所有的大型应用都会有自己的用于跟踪高度的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要一套强大的日志系统来诊断和修复配置上的问题。在程序中记录日志有3个目的:故障定位、显示程序运行状态和记录软件操作记录。记录日志的准则有以下几点:对外部的调用封装、状态变化、系统入口与出口、业务异常、非预期执行、很少出现的else情况。

Log4net是.Net下一个非常优秀的开源日志记录组件。其记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。

应用软件的开发过程中,有些时候不仅仅希望日志记录到文件中,而且还希望能够跟踪用户的操作,实时地把用户关心的操作过程显示在应用软件界面上。

学习了有关Log4Net组件的相关知识,Log4Net配置相关知识可参考博客http://www.cnblogs.com/kissazi2/p/3389551.html ,根据自己理解,对应用软件日志记录模块做了如下一些设计。

将日志分为“软件操作日志”、“错误日志”和“软件编译日志”,Log4net.config文件配置如图:

关于Log4Net日志记录组件的一点应用

模块中添加LogHelper类,负责日志记录。同时模块中应该添加ILogPrintControl接口,该接口负责将日志信息打印到应用软件界面,类结构如下:

关于Log4Net日志记录组件的一点应用

LogHelper类中,添加记录日志的和设置输出面板的静态方法。其类实现如下:

关于Log4Net日志记录组件的一点应用

LogPrinControl类的接口如下:

关于Log4Net日志记录组件的一点应用

UserCommandPanelControl表示面板显示的控制类,负责将日志显示出来,它需要实现日志模块的ILogPrintControl接口,在其被实例化后,需要将其实例的引用通过LogHelper.SetLogPrintPanelControl方法传入到LogHelper类中。面板类接口如下:

关于Log4Net日志记录组件的一点应用

运行结果图:

关于Log4Net日志记录组件的一点应用

关于Log4Net日志记录组件的一点应用

关于Log4Net日志记录组件的一点应用