Log4net培训文档目录1.概述...........................................................................................................................................12.Log4net系统............................................................................................................................22.1.程序结构.......................................................................................................................22.1.1.Logger(日志)................................................................................................22.1.2.Appender...........................................................................................................32.1.3.Layout................................................................................................................42.1.4.Filter..................................................................................................................42.2.日志级别.......................................................................................................................43.Log4net的使用方法.................................................................................................................53.1.编写配置信息...............................................................................................................53.2.配置初始化...................................................................................................................53.3.获得记录器...................................................................................................................53.4.使用记录器进行记录...................................................................................................54.扩展Log4net............................................................................................................................64.1.对FileAppender和RollingLogFileAppender................................................................64.2.对RollingLogFileAppender...........................................................................................64.3.对SmtpAppender.........................................................................................................65.实例演示...................................................................................................................................65.1.App.Config.....................................................................................................................65.2.LoggingExample.cs........................................................................................................61.概述Log4net(读成Logfornet)是基于.net开发的一款非常著名的记录日志开源组件。它最早是2001年7月由NeoWorksLimited启动的项目,基本的框架源于另外的一个非常著名的姐妹组件—Log4j。Log4net记录日志的功能非常强大,它可以将日志不同的等级,比不同的样式,将日志输出到不同的媒介。Log4net可以从网站下载最新版本。2.Log4net系统2.1.程序结构Log4net主要由五个部分组成,分别为Logger、Appenders、Filters、Layouts和ObjectRenders。2.1.1.Logger(日志)1、记录日志的分类Log4net能够以多种方式输出日志。支持的日志输出常用的主要媒介有数据库(包括MSSQLServer、Access、Oracle9i、Oracle8i、DB2、SQLite)、控制台、文件、事件日志(可以用事件查看器查看)和邮件等多种方式。2、日志的级别Log4net支持多种级别的日志。优先级从高到低依次排列如下:FATALERRORWARMINFODEBUG此外还有ALL(允许所有的日志请求)和OFF(拒绝所有的日志请求)这两种特殊的级别。Logger,即日志记录器,我们再程序里使用这个管理器来进行日志记录操作。在一份程序里可以有多个logger,每个logger都可以在配置文件控制,通过程序调用。比如在.config文件里配置:loggername=MailLoggerlevelvalue=debug/appender-refref=SmtpAppender/appender-refref=RollingLogFileAppender//logger在程序里我们可以这样获得这个记录器:privatestaticlog4net.ILoglog=log4net.LogManager.GetManager(MailLogger);得到记录器之后,我们可以通过如下方法记录日志:log.Error(message);log.Debug(message);log.Warm(message);log.Fatal(message);log.Info(message);2.1.2.AppenderAppender,即日志记录设备,决定日志输出输出的方式,指我们希望把日志记录到数据库、文件或邮件等,每种方式都有一个独立的Appender实现。Appender必须实现log4net.Appenders.IAppender接口。Appender通常都在配置文件里进行控制,对于我们来说,在程序里不显式使用,它由logger调用。如在.config文件里定义:appendername=RollingLogFileAppendertype=log4net.Appender.RollingFileAppender/appender当我们进行了这样的定义之后,只是说明了我们有个这个Appender,会不会使用这个Appender,则由logger配置节控制。要使用这个Appender,在logger里设置:loggername=MailLoggerappender-refref=RollingLogFileAppender//logger则这个Appender会在写日志的时候调用。多个Appender可以同时被一个logger使用,即一份日志可以保存到多个设备上。Log4net目前支持的Appender如表所示。NoAppenderNameDescription1AdoNetAppender将日志记录到数据库,可以采用SQL和存储过程两种方式2AnsiColorTerminalAppender在ANSI窗口终端写下高亮度的日志事件3AspNetTraceAppender用Asp.Net中Trace的方式查看记录的日志4BufferingForwardingAppender在输出到子Appender之前先缓存日志事件5ConsoleAppender将日志写到控制台6EventLogAppender将日志写到WindowsEventLog7FileAppender将日志写到文件中8LocalSyslogAppender将日志写到localsyslogservice(仅用于Unix)9MemoryAppender将日志存到内存缓冲区10NetSendAppender将日志输出到WindowsMessagerservice,这些日志信息将在用户终端的对话框中显示11RemoteSyslogAppender通过UDP网络协议将日志写到Remotesyslogservice12RemotingAppender通过.NETRemoting将日志写到远程接收端13RollingFileAppender将日志以回滚文件的形式写到文件中14SmtpAppender将日志写到邮件中15TraceAppender将日志写到.NetTrace系统16UdpAppender将日志以无连接UDP数据报(connectionlessUDPdatagrams)的形式送到远程宿主或以UdpClient的形式广播。2.1.3.LayoutLayout,即日志布局设计器,指我们希望输出哪些数据,这些数据又以什么样的格式输出,如:“%timestamp[%thread]%-5level%logger-%message%newline”timestamp:表示程序已经开始执行的时间。单位[毫秒]。thread:执行当前代码的线程。level:日志的级别。logger:日志相关请求的名称。message:日志消息。Layout通常都在.config文件里进行控制,对于我们来说,在程序里不显式使用,它由Append