log4net使用手册

log4net使用手册

ID:25542371

大小:165.50 KB

页数:11页

时间:2018-11-20

log4net使用手册_第1页
log4net使用手册_第2页
log4net使用手册_第3页
log4net使用手册_第4页
log4net使用手册_第5页
资源描述:

《log4net使用手册》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Log4Net使用手册1简介1.1Log4net的优点:几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。

2、Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。1.2Log4net的安装:用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入VisualStudio.NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。2Log4net的结构log4net有四种主要的组件,分别是Logger(记录器),Repository(库),Appen

3、der(附着器)以及Layout(布局).2.1Logger2.1.1    Logger接口Logger是应用程序需要交互的主要组件,它用来产生日志消息。产生的日志消息并不直接显示,还要预先经过Layout的格式化处理后才会输出。Logger提供了多种方式来记录一个日志消息,你可以在你的应用程序里创建多个Logger,每个实例化的Logger对象都被log4net框架作为命名实体(namedentity)来维护。这意味着为了重用Logger对象,你不必将它在不同的类或对象间传递,只需要用它的名字为参数调用就可以了。log4net框架

4、使用继承体系,继承体系类似于.NET中的名字空间。也就是说,如果有两个logger,分别被定义为a.b.c和a.b,那么我们说a.b是a.b.c的祖先。每一个logger都继承了祖先的属性Log4net框架定义了一个ILog接口,所有的logger类都必须实现这个接口。如果你想实现一个自定义的logger,你必须首先实现这个接口。你可以参考在/extension目录下的几个例子。ILog接口的定义如下: 1public interface ILog  2{  3   void Debug(object message);  4   v

5、oid Info(object message);  5   void Warn(object message);  6   void Error(object message);  7   void Fatal(object message);  8//以上的每一个方法都有一个重载的方法,用来支持异常处理。  9//每一个重载方法都如下所示,有一个异常类型的附加参数。 10   void Debug(object message, Exception ex); 11   //  12   //Boolean 属性用来检查Logger

6、的日志级别 13   //(我们马上会在后面看到日志级别) 14   bool isDebugEnabled; 15  bool isInfoEnabled; 16  //… 其他方法对应的Boolean属性 17} 1819Log4net框架定义了一个叫做LogManager的类,用来管理所有的logger对象。它有一个GetLogger()静态方法,用我们提供的名字参数来检索已经存在的Logger对象。如果框架里不存在该Logger对象,它也会为我们创建一个Logger对象。代码如下所示:log4net.ILoglog=log4n

7、et.LogManager.GetLogger("logger-name");通常来说,我们会以类(class)的类型(type)为参数来调用GetLogger(),以便跟踪我们正在进行日志记录的类。传递的类(class)的类型(type)可以用typeof(Classname)方法来获得,或者可以用如下的反射方法来获得:System.Reflection.MethodBase.GetCurrentMethod().DeclaringType尽管符号长了一些,但是后者可以用于一些场合,比如获取调用方法的类(class)的类型(type

8、)。2.1.2    日志的级别正如你在ILog的接口中看到的一样,有五种不同的方法可以跟踪一个应用程序。事实上,这五种方法是运作在Logger对象设置的不同日志优先级别上。这几种不同的级别是作为常量定义在log4net

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。