log4net是一个apache基金资助的项目log4j的.net移植版本,它是一个.net的dll,可以方便的加载到开发项目中,实现程序调试和运行的时候的日志信息输入,比.net自己提供的debug类和trace类要提供更多功能。
整个讨论分为两部分,第一部分是howto部分,告诉读者如何用最快的方式使log4net运作起来,第二步部分是inside部分,和读者一起探讨关于log4net层次架构设计以及一些思想.
HOWTO部分:
该部分给出一个范例,让你的第一个log4net范例尽快运行起来
先决条件:作者假设用户能够使用visual studio 2003的ide编写.net的winform程序,以及用户已经从网站上下载了一份最新的log4net(当前最新版本的下载地址: http://cvs.apache.org/dist/incubator/log4net/1.2.9/incubating-log4net-1.2.9-beta.zip)
第一步:新增项目,添加log4net引用.
通过vs.net 2003建立一个项目,然后将log4net添加到项目引用中来
第二步:设置配置文件:
建立对应项目的xml配置文件,log4net.config,文件内容如下:
第三步:在程序中设置自动加载以及监视配置文件
在AssemblyInfo.cs中增加如下语句:
第四步:测试使用
在窗体中增加一个按钮,
并在该按钮的Click事件中增加如下代码:
整个讨论分为两部分,第一部分是howto部分,告诉读者如何用最快的方式使log4net运作起来,第二步部分是inside部分,和读者一起探讨关于log4net层次架构设计以及一些思想.
HOWTO部分:
该部分给出一个范例,让你的第一个log4net范例尽快运行起来
先决条件:作者假设用户能够使用visual studio 2003的ide编写.net的winform程序,以及用户已经从网站上下载了一份最新的log4net(当前最新版本的下载地址: http://cvs.apache.org/dist/incubator/log4net/1.2.9/incubating-log4net-1.2.9-beta.zip)
第一步:新增项目,添加log4net引用.
通过vs.net 2003建立一个项目,然后将log4net添加到项目引用中来
第二步:设置配置文件:
建立对应项目的xml配置文件,log4net.config,文件内容如下:
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<
configuration
>
3
<
configSections
>
4
<
section
name
="log4net"
type
="System.Configuration.IgnoreSectionHandler"
/>
5
</
configSections
>
6
<
log4net
>
7
<
appender
name
="ConsoleAppender"
type
="log4net.Appender.ConsoleAppender"
>
8
<
layout
type
="log4net.Layout.PatternLayout"
>
9
<
conversionPattern
value
="%date [%thread] %-5level %logger [%ndc] - %message%newline"
/>
10
</
layout
>
11
</
appender
>
12
<
appender
name
="FileAppender"
type
="log4net.Appender.FileAppender"
>
13
<
file
value
="c:/log-file.txt"
/>
14
<
appendToFile
value
="true"
/>
15
<
layout
type
="log4net.Layout.PatternLayout"
>
16
<
conversionPattern
value
="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"
/>
17
</
layout
>
18
</
appender
>
19
<
root
>
20
<
level
value
="INFO"
/>
21
<
appender-ref
ref
="ConsoleAppender"
/>
22
</
root
>
23
<
logger
name
="test.logger"
>
24
<
level
value
="ALL"
/>
25
<
appender-ref
ref
="FileAppender"
/>
26
</
logger
>
27
</
log4net
>
28
</
configuration
>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

在AssemblyInfo.cs中增加如下语句:
1
[assembly: log4net.Config.XmlConfigurator(Watch
=
true
,ConfigFile
=
"
log4net.config
"
)]

第四步:测试使用
在窗体中增加一个按钮,
并在该按钮的Click事件中增加如下代码:
private
void
trigLogger_Click(
object
sender, System.EventArgs e)
{
ILog log = LogManager.GetLogger( " test.logger " );
log.Info( " Hello,World! " );
}
{
ILog log = LogManager.GetLogger( " test.logger " );
log.Info( " Hello,World! " );
}
然后首先将log4net.config复制到bin/Debug目录下,并运行程序,点击"Trigger Logger"按钮,可以看到结果大概 如下