Log4net教程

来源:互联网 发布:阿里云用的什么服务器 编辑:程序博客网 时间:2024/06/04 18:39

.概述

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

.第一次使用log4net

1.添加引用:Log4net.dllusing 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.如果想将日志写入windowsEventLog,可以使用EventLogAppender.

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