Log4net教程

. 概述

使用可靠地第三方类库,比自己重新编写好得多。 Log4net 是由 Apache 开发的 .Net. 日志类库。并且已经很稳定。网址是:。本文基于 1.2.10 版。
作为 Apache 的著名开源项目 , 它有 .Net,Java,C++ 等多个版本 .
但是一般来说它只适合作调试是的单行日志 , 大量的那种 . 不太适合作正规的 , 带有调用堆栈的详细日志 .

. 第一次使用 log4net

1. 添加引用 :Log4net.dll using log4net;
2.
在需要作日志的类中加入变量
private ILog log = LogManager.GetLogger(typeof(
类名 ));
3.
在程序的启动方法中加入这条语句
XmlConfigurator.Configure(new System.IO.FileInfo("
配置文件名 "));
4.
将配置文件写在启动项目的 /bin/debug 目录下 .
5.
配置文件的缺省内容如下所示 :

< log4net >
< appender name ="A1" type ="log4net.Appender.ConsoleAppender">
  
< layout type ="log4net.Layout.PatternLayout">
   
< conversionPattern value ="%-4timestamp %level %logger - %message%newline" />
  
</ layout >
</ appender >

< root >
  
< level value ="Debug" />
  
< appender-ref ref ="A1" />
</ root >
</ log4net >

这个配置文件将日志输出到控制台上 .
6.
在需要将调试信息写入日志的地方 , 可以使用类似下面的语句 :
log.Debug(String.Format("background at={0} last={1}",
变量一 , 变量二 ));

. 功能设定

1.log4 将日志功能划分为如下几个层次 :
logger:
日志信息的来源 , 缺省为 root. 可以设定为命名空间加类名的形式 .
appender:
日志的输出媒介 , 可以是控制台或者文件 .
layout:
日志的输出格式 . 常用的是 log4net.Layout.PatternLayout.
Filter:
把某些行日志从输出中过滤掉 .

2. 如果希望只在某个特定类中输出调试信息的话 , 可以加入特定的 logger:

< root >
  
< level value ="Info" />
  
< appender-ref ref ="A1" />
</ root >
< logger name ="StringGrid.CanvasView">
  
< level value ="Debug" />
  
< appender-ref ref ="A1" />
</ logger >

3. 如果想将日志写入文件 , 可以在配置文件中加入如下内容 :

< appender name ="RollingFile" type ="log4net.Appender.RollingFileAppender">
  
< file value ="example.log" />
  
< appendToFile value ="true" />
  
< maximumFileSize value ="100KB" />
  
< maxSizeRollBackups value ="2" />
  
< layout type ="log4net.Layout.PatternLayout">
   
< conversionPattern value ="%level %thread %logger - %message%newline" />
  
</ layout >
</ appender >

4. 也可以让一个源输出到多个记录中 :

< root >
  
< level value ="Info" />
  
< appender-ref ref ="A1" />
  
< appender-ref ref ="RollingFile" />
</ root >

5. 如果想将日志写入 windows EventLog, 可以使用 EventLogAppender.

原文 :http://www.cnblogs.com/fujingqiu/archive/2006/11/12/558152.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、概述 log4net.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。 2、一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0。 第二步:程序启动时读取log4net的配置文件。 如果是CS程序,在根目录的Program.cs中的Main方法中添加: log4net.Config.XmlConfigurator.Configure(); 如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的Application_Start方法中添加: log4net.Config.XmlConfigurator.Configure(); 无论BS还是CS程序都可直接在项目的AssemblyInfo.cs文件里添加以下的语句: [assembly: log4net.Config .XmlConfigurator()] 也可以使用自定义的配置文件,具体请参见4.4 关联配置文件。 第三步:修改配置文件。如果是CS程序,则在默认的App.config文件(没有新建一个)中添加内容;如果是BS程序,则添加到Web.config文件中,添加内容一样,这里不再列出。 App.config文件添加内容如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <root> <level value="WARN" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="ConsoleAppender" /> </root> <logger name="testApp.Logging"> <level value="DEBUG"/> </logger> <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > <param name="File" value="log-file.txt" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value="[Header] "/> <param name="Footer" value="[Footer] "/> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="DEBUG" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> </log4net> </configuration> 第四步:在程序使用。 log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");//获取一个日志记录器 log.Info(DateTime.Now.ToString() + ": login success");//写入一条新log 这样就将信息同时输出到控制台和写入到文件名为“log-file.txt”的文件中,其中“log-file.txt”文件的路径是当前程序运行所在目录;也可以定义为绝对路径,配置如: <param name="File" value="C:/log-file.txt" />就写入C盘根目录下log-file.txt文件中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值