项目中经常用到日志记录程序,log4net是apache从java平台的log4j移植到.net平台的日志记录程序,功能强大,使用方便。
编写这个基于log4net日志基类的目的是将日志处理程序的初始化和常用记录方法进行封装,简化应用流程,降低使用复杂度。
这个程序一共包含三个类:
ILog:日志记录接口,继承这个接口,实现特定的日志记录类。
Log4netBase:log4net日志记录基类,实现了ILog接口。
Log4netConfig:初始化log4net配置。
我已经在部分项目中应用这个程序,现在发布出来,大家可以免费使用。
2011-7-14:发现一个配置初始化的Bug,对于一个应用程序包含多个Logger可能出现问题,已修正,请重新下载。
在项目中通过继承 Log4netBase,创建不同的日志处理类。这里举个例子:
1、创建日志处理类
/// <summary> /// 具体的日志记录类 /// </summary> public class MyLog : Log4netBase { /// <summary> /// 获取日志类的实例 /// </summary> public static MyLog Instance; /// <summary> /// 使用指定的配置文件创建日志类的一个实例 /// </summary> private MyLog(string loggerName, FileInfo configFile, bool isWatch) : base(loggerName, configFile, isWatch) { } /// <summary> /// 调用静态方法或属性时创建实例 /// </summary> static MyLog() { string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; Instance = new MyLog("MyLog", new FileInfo(path + @"\log\MyLog.xml"), true); } }
2、log4net初始化需要一个配置文件,我们这里是:log\MyLog.xml ,它的内容是:
<?xml version="1.0" encoding="utf-8" ?> <log4net> <logger name="MyLog"> <level value="DEBUG" /> <appender-ref ref="LogAppender" /> </logger> <appender name="LogAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="log\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="20480" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> </log4net>
3、然后在需要记录日志的地方使用:
MyLog.Instance.ToInfo("这里是日志内容!");
ToInfo方法是Log4netBase中定义的方法,还有其它几个方法:ToError、ToWarn、ToDebug等,如果你以前使用过log4net,这些应该都了解过,如果没用过,最好先了解下log4net。
log4net官方地址: http://logging.apache.org/log4net/index.html
如果关于这个基类你有一些问题,欢迎与我交流。
关键字: log4net
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论