一 . 概述
使用可靠地第三方类库,比自己重新编写好得多。
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