波斯码BOSSMA Information Technology

分享一个log4net日志记录基类

发布时间:2011年6月7日 / 分类:DOTNET / 5,860 次浏览 / 评论

项目中经常用到日志记录程序,log4net是apache从java平台的log4j移植到.net平台的日志记录程序,功能强大,使用方便。

编写这个基于log4net日志基类的目的是将日志处理程序的初始化和常用记录方法进行封装,简化应用流程,降低使用复杂度。

这个程序一共包含三个类:

ILog:日志记录接口,继承这个接口,实现特定的日志记录类。

Log4netBase:log4net日志记录基类,实现了ILog接口。

Log4netConfig:初始化log4net配置。

我已经在部分项目中应用这个程序,现在发布出来,大家可以免费使用。

点击下载源代码:VeryCodes.Log

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&quot;.txt&quot;" />
<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日志记录基类

关键字:

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