I坐标

博客园 首页 新随笔 联系 订阅 管理

当配置文件写好之后,现在,是该将log4net用到我们的程序中的时候了。

有两种情况使用配置文件:

1、使用.net的Application配置文件,这时,配置文件的名称就是assemblyname.config,这个符合.net的配置文件的命名规范,

这时,如前所说,需要加入/configuration/configSection/section这个项。然后加入<log4net>项;

2、使用自定义的配置文件,这时,文件名称可以自定义,不过配置文件中一定要有<log4net>项。

默认情况下,每一个独立的可执行的assembly定义个一个属于它自己的配置设置。log4net框架使用

log4net.Config.DOMConfiguratorAttribute在assebly级设置配置文件,这个特性有三个属性:

1、ConfigFile:如果使用的是自定义的配置文件,那么就需要指定文件全名;

2、ConfigFileExtension:如果使用的不是application的配置文件的默认扩展名,那么需要指定这项;

3、Watch(bool):这个属性告诉log4net是否在运行时监视配置文件的改动。如果设置为true,那么log4net的类
FileSystemWatcher就会监视文件的修改,重命名以及删除,并发出通知。

DOMConfiguratorAttribute的配置代码如下:

[assembly:log4net.Config.DOMConfigurator(ConfigFile="filename", ConfigFileExtension="ext",Watch=true/false)]

如果没有定义ConfigFile或ConfigFileExtension属性,那么log4net将会去查找Application配置文件。所以,如果我们使用

Application配置文件,那么只需要写如下代码就可以了:

[assembly: log4net.Config.DOMConfigurator()]

有另外一种方法,可以不用DOMConfiguratorAttribute。那就是使用DOMConfigurator类来载入配置文件。

如下代码:

log4net.Config.DOMConfigurator.Configure(new FileInfo("Log4netApp.exe.Config"));

同样也有另一个方法:ConfigureAndWatch(...)配置log4net去监视配置文件的改动。

配置文件已经载入了,我们该如何使用呢?

1、创建一个Logger或者获取在配置文件中配置好的Logger。例如:

log4net.ILog log = log4net.LogManager.GetLogger("Logger_Name");

如果Logger_Name不在配置文件中,那么如前所说,log4net将会依据<root>的配置创建一个新的Logger。

2、使用Logger去调用Logger的方法。你能通过Logger的等级标记属性IsXXXEnabled的方法判断Logger是否可以执行相关等级的方法,例如:

if(log.IsDebugEnabled) log.Debug("Message");
if(log.IsInfoEnabled) log.Info("Message");

这里有一个简单的应用例子,该例子在log4net-1.2.0-beta8下编译运行通过。

点击下载

posted on 2004-10-06 16:54  I坐标  阅读(1958)  评论(4)    收藏  举报