《Log4net培训.pdf》由会员分享,可在线阅读,更多相关《Log4net培训.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Log4net 培训文档培训文档 目录目录 1.概述.1 2.Log4net 系统.2 2.1.程序结构.2 2.1.1.Logger(日志).2 2.1.2.Appender.3 2.1.3.Layout.4 2.1.4.Filter.4 2.2.日志级别.4 3.Log4net 的使用方法.5 3.1.编写配置信息.5 3.2.配置初始化.5 3.3.获得记录器.5 3.4.使用记录器进行记录.5 4.扩展 Log4net.6 4.1.对 FileAppender 和 RollingLogFileAppender.6 4.2.对 RollingLogFileAppender.6 4.3.对
2、 SmtpAppender.6 5.实例演示.6 5.1.App.Config.6 5.2.LoggingExample.cs.6 1.概述概述 Log4net(读成 Log for net)是基于.net 开发的一款非常著名的记录日志开源组件。它最早是 2001 年 7 月由 NeoWorks Limited 启动的项目,基本的框架源于另外的一个非常著名的姐妹组件Log4j。Log4net 记录日志的功能非常强大,它可以将日志不同的等级,比不同的样式,将日志输出到不同的媒介。Log4net 可以从 http:/logging.apache.org/log4net/downloads.html
3、 网站下载最新版本。2.Log4net 系统系统 2.1.程序结构程序结构 Log4net 主要由五个部分组成,分别为 Logger、Appenders、Filters、Layouts 和 Object Renders。2.1.1.Logger(日志)(日志)1、记录日志的分类 Log4net 能够以多种方式输出日志。支持的日志输出常用的主要媒介有数据库(包括MS SQL Server、Access、Oracle9i、Oracle8i、DB2、SQLite)、控制台、文件、事件日志(可以用事件查看器查看)和邮件等多种方式。2、日志的级别 Log4net 支持多种级别的日志。优先级从高到低依次排
4、列如下:FATAL ERROR WARM INFO DEBUG 此外还有 ALL(允许所有的日志请求)和 OFF(拒绝所有的日志请求)这两种特殊的级别。Logger,即日志记录器,我们再程序里使用这个管理器来进行日志记录操作。在一份程序里可以有多个 logger,每个 logger 都可以在配置文件控制,通过程序调用。比如在.config文件里配置:在程序里我们可以这样获得这个记录器:private static log4net.ILog log=log4net.LogManager.GetManager(MailLogger);得到记录器之后,我们可以通过如下方法记录日志:log.Error
5、(message);log.Debug(message);log.Warm(message);log.Fatal(message);log.Info(message);2.1.2.Appender Appender,即日志记录设备,决定日志输出输出的方式,指我们希望把日志记录到数据库、文件或邮件等,每种方式都有一个独立的 Appender 实现。Appender 必须实现 log4net.Appenders.IAppender 接口。Appender 通常都在配置文件里进行控制,对于我们来说,在程序里不显式使用,它由 logger 调用。如在.config 文件里定义:当我们进行了这样的定义之
6、后,只是说明了我们有个这个 Appender,会不会使用这个Appender,则由 logger 配置节控制。要使用这个 Appender,在 logger 里设置:则这个 Appender 会在写日志的时候调用。多个 Appender 可以同时被一个 logger 使用,即一份日志可以保存到多个设备上。Log4net 目前支持的 Appender 如表所示。No AppenderName Description 1 AdoNetAppender 将日志记录到数据库,可以采用 SQL 和存储过程两种方式 2 AnsiColorTerminalAppender 在 ANSI 窗口终端写下高亮度的
7、日志事件 3 AspNetTraceAppender 用 Asp.Net 中 Trace 的方式查看记录的日志 4 BufferingForwardingAppender 在输出到子 Appender 之前先缓存日志事件 5 ConsoleAppender 将日志写到控制台 6 EventLogAppender 将日志写到 Windows Event Log 7 FileAppender 将日志写到文件中 8 LocalSyslogAppender 将日志写到 local syslog service(仅用于 Unix)9 MemoryAppender 将日志存到内存缓冲区 10 NetSen
8、dAppender 将日志输出到 Windows Messager service,这些日志信息将在用户终端的对话框中显示 11 RemoteSyslogAppender 通过 UDP 网络协议将日志写到 Remote syslog service 12 RemotingAppender 通过.NET Remoting 将日志写到远程接收端 13 RollingFileAppender 将日志以回滚文件的形式写到文件中 14 SmtpAppender 将日志写到邮件中 15 TraceAppender 将日志写到.Net Trace 系统 16 UdpAppender 将日志以无连接 UDP
9、数据报(connectionless UDP datagrams)的形式送到远程宿主或以 UdpClient 的形式广播。2.1.3.Layout Layout,即日志布局设计器,指我们希望输出哪些数据,这些数据又以什么样的格式输出,如:“%timestamp%thread%-5level%logger-%message%newline”timestamp:表示程序已经开始执行的时间。单位毫秒。thread:执行当前代码的线程。level:日志的级别。logger:日志相关请求的名称。message:日志消息。Layout 通常都在.config 文件里进行控制,对于我们来说,在程序里不显式使
10、用,它由Appender 调用。并且在 Appender 配置节里进行定义。2.1.4.Filter Filter,即日志过滤器。除了级别限制外,我们还可以添加过滤器,以指示该日志是否需要记录。Filter 通常都在配置文件里进行控制,对于我们来说,在程序里不显式使用,它由 Appender 调用。2.2.日志级别日志级别 日志的级别可以在多个地方定义,appender 参数里的 Threshold 属性定义的 level,logger的 level,root 节点里的 level,如果这三个地方均没有定义,则默认“Debug”级别。当这几个地方有两个以上定义了 level,则按下表的优先级,
11、取最高优先级的 level,此外,级别还受 Appender 里定义的 filter 里的 level 范围限制。各个级别的优先级如下:级别代码 级别描述 优先级 OFF 关闭 最高 FATAL 严重 ERROR 错误 INFO 信息 DEBUG 调试 ALL 全部 最低 3.Log4net 的使用方法的使用方法 3.1.编写配置信息编写配置信息 Log4net 的行为控制大多都可以在配置文件里完成,因此,编写配置信息是使用 Log4net的必要步骤,同时也是最大的难点。配置信息可以在 web.config 里(Winform 程序则是 app.config),也可以放在独立的文件中。3.2.
12、配置初始化配置初始化 Web 程序需要做配置初始化,待更新 3.3.获得记录器获得记录器 private static log4net.ILog log=log4net.LogManager.GetManager(MailLogger);3.4.使用记录器进行记录使用记录器进行记录 log.Error(message);log.Debug(message);log.Warm(message);log.Fatal(message);log.Info(message);4.扩展扩展 Log4net 4.1.对对 FileAppender 和和 RollingLogFileAppender 4.2.对对 RollingLogFileAppender 4.3.对对 SmtpAppender 5.实例演示实例演示 5.1.App.Config 5.2.LoggingExample.cs