Log4net简介

一 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目前支持的输出方式包括:
1 AdoNetAppender
将日志记录到数据库中。可以采用SQL和存储过程两种方式。

2 AnsiColorTerminalAppender
在ANSI 窗口终端写下高亮度的日志事件。

3 AspNetTraceAppender
能用asp.net中Trace的方式查看记录的日志。

4 BufferingForwardingAppender
在输出到子Appenders之前先缓存日志事件。

5 ConsoleAppender
将日志输出到控制台。

6 EventLogAppender
将日志写到Windows Event Log.

7 FileAppender
将日志写到文件中。

8 LocalSyslogAppender
将日志写到local syslog service (仅用于UNIX环境下).
9 MemoryAppender
将日志存到内存缓冲区。

10 NetSendAppender
将日志输出到Windows Messenger service.这些日志信息将在用户终端的对话框中显示。

11 RemoteSyslogAppender
通过UDP网络协议将日志写到Remote syslog service。

12 RemotingAppender
通过.NET Remoting将日志写到远程接收端。

13 RollingFileAppender
将日志以回滚文件的形式写到文件中。

14 SmtpAppender
将日志写到邮件中。

15 TraceAppender
将日志写到.NET trace 系统。

16 UdpAppender
将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播。

三) 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怎么用于输出日志。
本例中,日志将会记录到文件,控制台,事件日至和Access数据库中。

一)主要代码:

复制代码
1<!--log 4net config start-->
2 <configSections>
3 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
4 <sectionGroup name="ajaxNet">
5 <section name="ajaxSettings" type="Ajax.AjaxSettingsSectionHandler, Ajax"/>
6 <section name="ajaxConverters" type="Ajax.AjaxConverterSectionHandler, Ajax"/>
7 </sectionGroup>
8 </configSections>
9<!--log 4net config end-->
10
11<!--log 4net config start-->
12 <log4net>
13 <appender name="file" type="log4net.Appender.FileAppender">
14 <param name="File" value="log4/Web_Log.txt"/>
15 <param name="AppendToFile" value="true"/>
16 <layout type="log4net.Layout.PatternLayout">
17 <!-- <param name="Header" value="[Log Begin.]" /> -->
18 <param name="ConversionPattern" value="%n %d %n %l %m%n"/>
19 <!-- <param name="Footer" value="[Log End.]" /> -->
20 </layout>
21 </appender>
22 <root>
23 <level value="All"/>
24 <appender-ref ref="stdout"/>
25 <appender-ref ref="file"/>
26 </root>
27 <logger name="*">
28 <level value="All"/>
29 <appender-ref ref="stdout"/>
30 <appender-ref ref="file"/>
31 </logger>
32 </log4net>
33<!--log 4net config end-->

http://daisheshe.blog.163.com/blog/static/1309457102013316112341492/
http://www.cnblogs.com/qianlifeng/archive/2011/04/22/2024856.html

时间: 2024-10-12 13:10:44

Log4net简介的相关文章

Log4NET 数据库

阅读目录 Log4NET简介 前提 详细步骤 回到顶部 Log4NET简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 回到顶部 前提 最近做项目需要记录系统日志和用户操作日志,就想起来了log4net,但是业务需要需要加入自定义属性,并把自定义属性日志数据插入到数据库中,看好趁这个机会学习总结下. 回到顶部 详细步骤 一.首先下载:log4net.dll  下载地址:http

Log4Net使用技巧

Log4Net使用技巧 1.Log4Net简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具.log4net是Apache软件基金会Apache Logging Services工程的一部分.Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务. 今天,我带领大家在ASP.NET上使用Log4Net记录日志 2.Log4Net 下载 下载地址: http://down

[C#] 我的log4net使用手册

1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还有一个姐妹组件--log4j. log4net的下载地址:http://logging.apache.org/log4net/download.html 2. log4net的组成 log4net主要由五部分组成,分别为Appenders.Filters.Layouts.Loggers和Object

Log4net学习

转自:http://www.cnblogs.com/sirkevin/archive/2012/06/13/2548449.html Log4net简介根据日志类别保存到不同的文件,并按照日期生成不同文件名称 转自:http://www.cnblogs.com/hfliyi/archive/2012/05/20/2510783.html   Log4net简介 转自:http://blog.csdn.net/wziyx513225244/article/details/6628627     

Log4net系列一:Log4net搭建之文本格式输出

Log4net简介 前言 项目开发中,记录项目日志是必须的,如果非要说日志的重要性(日志可看做,飞机的黑匣子,或者汽车的行车记录仪),根据等级进行记录,方便我们排查相关问题,以后项目运维中,也方便很多.基本上我们进入一家公司,开发你从事什么岗位,公司产品或项目的框架都已经搭建好,我们有时候进行改版,根据业务延伸框架,记录日志基本都是我们自己去调用封装的方法.今天我们就对Log4net进行一下学习,Log4net可以做到:1.邮箱发送日志:2.记录到数据库:3.生成记事本文件.本章Log4net学

记录日志框架:log4net使用

一.log4net简介 Log4net是Apache下一个开放源码的项目,我们可以控制日志信息的输出目的地.Log4net中定义了多种日志信息输出模式.在做项目的时候最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难找到,于是我们需要大量的日志数据来精确的跟踪程序的运行状态.Log4net可以帮我们来解决这一个难题,对于日志的输出我们不需要人为的去干涉,它可以根据需要将日志输出到控制台.文本文件.Windows日志事件查看器.数据库.邮件等位置,以便我们快速跟踪程序bug.

第一节:框架前期准备篇之Log4Net日志详解

一. Log4Net简介 Log4net是从Java中的Log4j迁移过来的一个.Net版的开源日志框架,它的功能很强大,可以将日志分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库.txt文件.内存缓冲区.邮件.控制台.ANSI终端.远程接收端等等,我们这里主要介绍最常用的两种:txt文件和数据库. (PS:其它的存储介质详见 http://logging.apache.org/log4net/release/config-examples.html) Log4net将日志分为五

Log4Net日志记录简单使用讲解

一. Log4Net 简介 Log4net 是 Apache 下一个开放源码的项目,我们可以控制日志信息的输出目的地(数据库.控制台.文本文档.文件).Log4net中定义了多种日志信息输出模式. 在做项目的时候令我最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难重新,于是我们需要大量的日志数据来精确的跟踪程序的运行状况. Log4net就可以帮我来解决这一个难题,对于日志的输出我们不需要人为的去干涉,它可以根据需要将日志输出到控制台,文本文件,windows 日志事件查看

log4net使用简介

说明:本程序演示如何利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中.并且我们还可以记载控制要记载的日志级别,可以记载的日志类别包括:FATAL(致命错误).ERROR(一般错误).WARN(警告).INFO(一般信息).DEBUG(调试信息).要想获取最新版本的