一 Log4net简介 Log4net是基于.net开发的一款非常著名的记录日志开源组件。他最早是2001年7月由NeoWorks Limited启动的项目,基本的框架源于另外的一个非常著名的姐妹组件-log4j。Log4net记录日志的功能非常强大。它可以将日志分不同的等级,比不同的样式,将日志输出到不同的媒介。 Log4net可以从http://logging.apache.org/log4net/downloads.html网站下载最新版本。 二 Log4net核心组成 Log4net主要由五个部分组成,分别为Logger,Appenders, Filters, Layouts 和Object Renders。 一) Logger(日志) 1. 记录日志的分类: Log4net能够以多种方式输出日志。支持的日志输出常用的主要媒介有数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite,控制台,文件,事件日志(可以用事件查看器查看)和邮件等多种方式。 2. 日志的级别 Log4net支持多种级别的日志。优先级从高到低依次排列如下: FATAL > ERROR > WARN > INFO > DEBUG 此外还有ALL(允许所有的日志请求)和OFF(拒绝所有的日志请求)这两种特殊的级别。 二) Appenders Appenders决定日志输出的方式。 Appenders必须实现log4net.Appenders.IAppender接口。 Log4net目前支持的输出方式包括: 2 AnsiColorTerminalAppender 3 AspNetTraceAppender 4 BufferingForwardingAppender 5 ConsoleAppender 6 EventLogAppender 7 FileAppender 8 LocalSyslogAppender 10 NetSendAppender 11 RemoteSyslogAppender 12 RemotingAppender 13 RollingFileAppender 14 SmtpAppender 15 TraceAppender 16 UdpAppender 三) Filters Appender对象将日志以缺省的方式传到输出流,然后Filter可以按照不同的标准控制日志的输出。Filter可以再配置文件中配置。最简单的形式是在appender中写明一个Threshold.这样只有级别大于或等于此Threshold的日志才被记录。 Filters必须实现log4net.Filters.IFilter接口。 四) Layouts Layouts控制日志显示的格式样式。日志的显示格式如下: "%timestamp [%thread] %-5level %logger - %message%newline" Timestamp: 表示程序已经开始执行的时间。 单位[毫秒]。 Thread:执行当前代码的线程。 Level:日志的级别。 Logger:日志相关请求的名称。 Message: 日志消息。 Layouts还可以控制日志的输出样式,比如以普通形式或以xml等形式输出。 五) Object Renderers 这是很重要的一项,log4net将按照用户定义的标准输出日志消息。 Object Renders必须实现log4net.ObjectRenderer.IObjectRenerer接口。 三 如何在项目中使用log4net 下面有个基于控制台的demo,举例描述了log4net怎么用于输出日志。 一)主要代码: 1
![]() 2 ![]() 3 ![]() 4 ![]() 5 ![]() 6 ![]() 7 ![]() 8 ![]() 9 ![]() 10 ![]() 11 ![]() 12 ![]() 13 ![]() 14 ![]() 15 ![]() 16 ![]() 17 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 18 ![]() 19 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 20 ![]() 21 ![]() 22 ![]() 23 ![]() 24 ![]() 25 ![]() 26 ![]() 27 ![]() 28 ![]() 29 ![]() 30 ![]() 31 ![]() 32 ![]() 33 ![]() |