首页 > 代码库 > Log4Net简介

Log4Net简介

关于Log4Net的使用,小弟看到园子里面有很多文章已经做了介绍,不过大多都是开篇就讲解如何使用,如何配置,基本上都是说记住这样配置就行了,至于为什么这样配置,不配置是否可以,都没有做任何说明。没有真正系统的介绍过Log4Net,小弟目前在研究这个组件的使用,有一些心得,在次分享,如有不正确的地方,欢迎拍砖。

一、Log4Net简介

1、百科

log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。关于对Log4j详细的介绍,请点这里

2、优点

 

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

3、结构

log4net 有四种主要的组件,分别是Logger(记录器), Repository(库), Appender(附着器)以及 Layout(布局).

关于结构的详情讲解,将在下文中进行。

4、使用

有些朋友估计已经看过很多Log4Net的文章了,说必须如何如何配置,为了纠正这个观点,下面一个简单的例子,不做任何配置,直接使用Log4Net。

可以去http://logging.apache.org/log4net/ 下载Log4Net的源代码,下载之后把log4net.dll引入项目即可。

现在我们尝试使用一下log4net,新建一个【控制台应用程序】

示例1-----日志输出到控制台

namespace DoNet.Seven.ConsoleApplicationTest{    class Program    {        static void Main(string[] args)        {            log4net.Config.BasicConfigurator.Configure();            ILog log = LogManager.GetLogger("base");            log.Debug("debug");            log.Info("info");            Console.ReadKey();        }    }}

运行一下代码

 

 

示例2-----日志输出到文件

 class Program    {        static void Main(string[] args)        {            //log4net.Config.BasicConfigurator.Configure();            log4net.Config.BasicConfigurator.Configure(new log4net.Appender.FileAppender(new log4net.Layout.PatternLayout("%d[%t]%-5p %c [%x] - %m%n"),"test.log"));            ILog log = LogManager.GetLogger("basefile1");            log.Debug("debug");            log.Info("Info");            Console.ReadKey();        }    } 

运行一下代码

我们在bin/Debug文件夹中发现了test.log这个文件。文件内容如下:

OK,就是这么简单,只要我们引入log4net.dll文件,我们可以不做任何配置,直接使用Log4Net。

现在我们不用去理睬代码里面涉及的一些对象,其实都是上面在结构中介绍的log4net的结构对象。这篇文章是要告诉读者,log4net的的接入其实只是需要log4net.dll文件的引入,至于配置文件是log4net为了我们使用和修改方便提供的另一种方式,我在后续文章中会继续介绍。

 

Log4Net简介