AOP学习之Log4net

来源:互联网 发布:淘宝开店的优势 编辑:程序博客网 时间:2024/06/04 01:02

log4net库是Apache log4j框架在Microsoft.NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。日志具备的优点:提供程序运行的精确环境,帮助开发人员找到程序中的bug

 

安装:

 Log4net的安装:

 

用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。

 

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

Logger(记录器)

      Logger是应用程序需要交互的主要组件,它用来产生日志消息。产生的日志消息并不直接显示,还要预先经过Layout的格式化处理后才会输出。

Log4Net采用继承的框架。为什么要使用继承框架呢?

     为了重用Logger对象,你不必将它在不同的类或对象间传递,只需要用它的名字为参数调用就可以了

log4Net中,有一个叫LogManager的类,用来管理logger对象,这个类中有一个GetLogger()静态方法,用来检查Logger对象是否存在,如果存在,就返回,如果不存在,它会自动为我们创建一个Logger对象。

log4net.ILoglog = log4net.LogManager.GetLogger("logger-name");

日志级别


 

从上到下,级别依次降低。在log4net框架里,通过设置配置文件,每个日志对象都被分配了一个日志优先级别,如果没有级别,那么日志会从他的祖先出继承一个级别。在Log4net的日志级别方法请求中,必须是请求方法的级别高于日志级别时,才会执行,否则不会执行。

例如:

     创建了一个日志对象,并且把他的级别设置为INFO,那么下面的3个方法那个不会被执行呢,答案是第2个方法不会被执行,因为Debug的级别比INFO日志级别低。

 

Logger.Info("message");

 

Logger.Debug("message");

 

Logger.Warn("message");

 

 

Repository(库)

主要用于负责日志对象组织结构的维护。

 

 Appender(附着器)

什么叫附着器?在这里我个人理解就是依赖于某一组件上而进行工作的组件。通过查阅资料知道了,附着器的主要作用是用来定义输入介质,这样我们就可以控制日志是输出到控制台还是输出到日志文件中了,一个好的框架就应该能够产生多目的的输出。

 

 Layout

        Layout 组件用于向用户显示最后经过格式化的输出信息。输出信息可以以多种格式显示,主要依赖于我们采用的Layout组件类型。

0 0
原创粉丝点击