如何使用log4net

第一步,工程中引入log4net.dll
第二步,在AssemblyInfo.cs加入这一行,指定log4net的配置文件

[assembly: log4net.Config.XmlConfigurator(ConfigFile="cxylog4net.exe.config", Watch=true)]

 第三步,在配置文件中指定以下内容

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

    <log4net debug="true">
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="e: est.log" />
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="2KB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <footer value="[Footer]--Test By cxy1981  " />
                <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
            </layout>
        </appender>

        <root>
            <priority value="ALL" />
            <appender-ref ref="RollingLogFileAppender" />
        </root>
    </log4net>
</configuration>

第五步,在类中写下以下内容

using log4net;
private static readonly ILog log = LogManager.GetLogger(
  System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

这样我们就可使用log4net来记录我们所需要的内容了
if (log.IsErrorEnabled)
{
    log.Error("Page Load failed : " + ex.Message);
}

以下是转自这个地址的关于log4net的说明
http://www.cnblogs.com/liwei6797/archive/2007/04/27/729679.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接口。

小例子的源代码

http://dl2.csdn.net/down4/20070713/13172335911.rar

时间: 2024-12-18 03:33:55

如何使用log4net的相关文章

ASP.NET中使用Apache log4net

apache|asp.net log4net是Apache log4j的.net版,是一套XML配置型的日志引擎,正好最近有个程序需要日志系统,为了整合方便,就决定研究一下.感谢郝伟推荐.  log4net系统划分了7个日志等级,如设置为"WARN",则DEBUG,INFO不会被记录.如下: 1. ALL 2. DEBUG 3. INFO 4. WARN 5. ERROR 6. FATAL 7. OFF Creating the Sample Application Step 1: 下

[C#]log4net写SQLServer数据库日志的配置方法

server|sqlserver|数据|数据库 数据库日志表的准备 在数据库中准备一个这样的表,mail_web_log: 生成脚本: CREATE TABLE [dbo].[mail_web_log] (    [nId] [int] IDENTITY (1, 1) NOT NULL ,     [dtDate] [datetime] NOT NULL ,     [sThread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,    

.Net配置log4net

使用log4net-1.2.0-beta8在项目的AssemblyInfo.cs文件中设置 [assembly: log4net.Config.DOMConfiguratorAttribute(Watch=true)]添加并编辑项目配置文件(默认为App.config),内容如下:<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <

在asp.net下将log4net配置成可log到ms sql

asp.net log4net是一个优秀的开源日志项目,现将本人使用写成一个demo,如下 0:准备去http://logging.apache.org/,可下载log4net,最新为1.2版本,建立一个asp.net web 项目,并将log4net.dll添加到引用 1:建立数据表 CREATE TABLE [dbo].[Log] ( [Id] [int] IDENTITY (1, 1) NOT NULL, [Date] [datetime] NOT NULL, [Thread] [varc

Log4Net日志记录的两种方式

log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. log4net是Apache软件基金会Apache Logging Services工程的一部分.Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务.(f:百度百科) 原理 Log4net是基于.NET开发的一款记录日志开源组件.它通过一套XML配置的日志引擎,将日志分不同的等级,分别是:FATAL . ERROR.

如何在.Net Winform项目中使用Log4net

几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.Log4net是一款非常著名的记录日志开源组件,基本的框架源于另外的一个Java领域非常著名的姐妹组件-log4j.Log4net记录日志的功能非常强大.它可以将日志分不同的等级,比不同的样式,将日志输出到不同的媒介. 现以一个实例说明Log4net的使用: 1, 下载Log4net组件: http://logging.

log4net日志组件经验分享

我们在开发WEB项目的时候,经常会出现这样的情况:在本地调试都是正常的,但是部署到服务器上就不行了.一般出现这种情况很大一部分原因是因为服务的环境和本地不同,数据库的配置以及服务器软件环境.如何能够准确快速的判断问题的所在呢?本人总结了我平时用过的三种方法. 第一:凭经验.自己写的程序当然对于业务逻辑会非常清楚,页面执行到什么程度,什么地方可能会出错,凭经验也能猜出可能出错的地方.这种方法依赖于程序员的经验. 第二:让应用程序报出黄页,显示具体的错误信息.这种方法可以非常直观的看出程序的错误所在

log4net在WINFORM中的使用

最近在公司实习,暂时还没有上网的权限,回家又太累了.好久没来更新文章了,其实最近是有生以来进步最快的几天. 闲话不多说,今天开始着手考虑我毕业设计的问题.想用Log4net来记录日志信息.log4net在网上的介绍很多.我就不多说了,我就谈谈今天解决的问题. 最开始在一个单独的项目里,使用log4net记录日志完全没有问题.但后来,我希望在项目里多次用到它,我就想把它再进一步的进行封装,于是,我新建了一个类库的项目,新建一个logout类,配置.然后在我的启动项目(另外一个项目)里调用,结果是怎

log4net教程日志分类和自动维护示例

 log4net能不能按照功能分类呢?如果通过配置不同的logger,然后功能根据不同的LoggerName加载Ilog实例,是可以做到.但由于这些功能的log配置差异性极小,也许仅仅就是文件名不同.于是想通过代码进行配置,下面把方法分享如下 如果我们需要通过配置不同的ILog,流程是这样的,首先要创建一个ILoggerRepository,通过它来进行日志等级的配置,和各种Appender,接着通过LogManager在ILoggerRepository获取一个Ilog对象,就可以写日志了.代

log4net配置和使用方法分享

 这篇文章主要介绍了log4net配置和使用方法,大家参考使用吧 1.Global.asax文件 代码如下: void Application_Start(object sender, EventArgs e)  { //在应用程序启动时运行的代码 log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Sxmobi.FileHelper.GetMapPath("~log4net.config"))