您的位置:首页 > 其它

Log4Net快速使用教程

2009-06-24 11:19 393 查看
Log4net是基于.net开发的一款非常著名的记录日志开源组件。他最早是2001年7月由NeoWorks Limited启动的项目,基本的框架源于另外的一个非常著名的姐妹组件-log4j。Log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的样式,将日志输出到不同的媒介。

Log4net可以从 http://logging.apache.org/log4net/downloads.html 网站下载最新版本。

Log4net主要由五个部分组成,分别为Logger,Appenders, Filters, Layouts 和Object Renders。其中

Logger记录日志的分类。Log4net能够以多种方式输出日志。支持的日志输出常用的主要媒介有数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite,控制台,文件,事件日志(可以用事件查看器查看)和邮件等多种方式。

Appenders决定日志输出的方式。Log4net目前支持的输出方式很多,包括文本、控制台、系统事件、数据库等等。

Filter可以按照不同的标准控制日志的输出。根据不要级别的日志采用相应的记录方式。日志优先级别为:FATAL > ERROR > WARN > INFO > DEBUG

Layouts控制日志显示的格式样式。

Object Renderers则控制log4net按照用户定义的标准输出日志消息。

Quick Start

引入DLL

web.config里增加配置节 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

增加配置

<log4net debug="false">

<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >

<param name="File" value="config/Applog.txt" />

<param name="datePattern" value="yyyy-MM-dd HH:mm" />

<param name="AppendToFile" value="true" />

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />

</layout>

</appender>

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">

<bufferSize value="100" />

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

<connectionString value="data source=server;initial catalog=database;integrated security=false;persist security info=True;User ID=user;Password=pwd" />

<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />

<parameter>

<parameterName value="@log_date" />

<dbType value="DateTime" />

<layout type="log4net.Layout.RawTimeStampLayout" />

</parameter>

<parameter>

<parameterName value="@thread" />

<dbType value="String" />

<size value="255" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%thread" />

</layout>

</parameter>

<parameter>

<parameterName value="@log_level" />

<dbType value="String" />

<size value="50" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%level" />

</layout>

</parameter>

<parameter>

<parameterName value="@logger" />

<dbType value="String" />

<size value="255" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%logger" />

</layout>

</parameter>

<parameter>

<parameterName value="@message" />

<dbType value="String" />

<size value="4000" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%message" />

</layout>

</parameter>

<parameter>

<parameterName value="@exception" />

<dbType value="String" />

<size value="2000" />

<layout type="log4net.Layout.ExceptionLayout" />

</parameter>

</appender>

<root>

<level value="DEBUG" />

<appender-ref ref="LogFileAppender" />

<appender-ref ref="AdoNetAppender" />

</root>

</log4net>

启动 Global.asax里 Application_Start:log4net.Config.XmlConfigurator.Configure();

调用

private static readonly log4net.ILog log = log4net.LogManager.GetLogger("Log-Error");

log.Error("出现错误!");

整理的文档也发上来:/Files/rene1018/Log4Net.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: