在asp.net中使用 log4net

log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。具体的使用方法往下看。 

        首先你应该下载log4net.dll并引入到你的项目References中,或者把源代码项目作为你工程的一部分加入到你的工程当中。单击 这里 下载Log4net 。 

        使用log4net需要知道其中两个比较重要的概念:logger 和 appender。前者是日志记录对象,后者是日志记录的目标,包括控制台,文件,定量大小的文件,远程广播。也就是说我们使用log4net的过程可以是这样的:获得一个用来记录日志的工具对象logger,然后为logger对象指定日志的记录位置.美妙的是,这一切工作都可以在Web.config配置文件中完成,所用的代码极少. 
其配置如下: 

先在web.config中的<configuration>节点下添加如下配置: 

< configSections >
  
< section  name ="log4net"  type ="log4net.Config.Log4NetConfigurationSectionHandler, log4net"  />
</ configSections >

用过web.config自定义节点的朋友都知道,还应该配置log4net节点,接下来在<configuration>节点下添加如下log4net节点配置:

 1 < log4net  debug ="false" >
 2      < appender  name ="LogFileAppender"  type ="log4net.Appender.FileAppender"  >
 3          < param  name ="File"  value ="c:\Applog.txt"  />
 4          < param  name ="datePattern"  value ="yyyy-MM-dd HH:mm"  />
 5          < param  name ="AppendToFile"  value ="true"  />
 6          < layout  type ="log4net.Layout.PatternLayout" >
 7              < param  name ="ConversionPattern"  value ="%d [%t] %-5p %c [%x] - %m%n"  />
 8          </ layout >
 9      </ appender >
10      < appender  name ="HttpTraceAppender"  type ="log4net.Appender.ASPNetTraceAppender"  >
11          < layout  type ="log4net.Layout.PatternLayout" >
12              < param  name ="ConversionPattern"  value ="%d [%t] %-5p %c [%x] - %m%n"  />
13          </ layout >
14      </ appender >
15      < appender  name ="EventLogAppender"  type ="log4net.Appender.EventLogAppender"  >
16          < layout  type ="log4net.Layout.PatternLayout" >
17              < param  name ="ConversionPattern"  value ="%d [%t] %-5p %c [%x] - %m%n"  />
18          </ layout >
19      </ appender >
20      < appender  name ="RollingLogFileAppender"  type ="log4net.Appender.RollingFileAppender" >
21          < param  name ="File"  value ="C:\Log.txt"  />
22          < param  name ="AppendToFile"  value ="true"  />
23          < param  name ="MaxSizeRollBackups"  value ="10"  />
24          < param  name ="MaximumFileSize"  value ="5MB"  />
25          < param  name ="RollingStyle"  value ="Size"  />
26          < param  name ="StaticLogFileName"  value ="true"  />
27          < layout  type ="log4net.Layout.PatternLayout" >
28              < param  name ="ConversionPattern"  value ="%d [%t] %-5p %c [%x] - %m%n"  />
29          </ layout >
30      </ appender >
31      < root >
32          < level  value ="DEBUG"  />
33          < appender-ref  ref ="LogFileAppender"  />
34      </ root >
35 </ log4net >

        从上面的配置中可以看到定义了多个appender,每一个appender就是一个日志记录的目标。root节点指定了选用哪一个 appender. 在这里我选用了LogFileAppender。

        到这里配置就基本上完成了,但是怎么使用上面的配置呢?log4net为我们提供了在应用程序启动时加载配置信息的入口,很简单,在Global.asax.cs的Application_Start事件中添加如下代码:
log4net.Config.XmlConfigurator.Configure();

Application_Error事件添加如下代码:

using log4net; 

ILog log = LogManager.GetLogger("Exception Log");
            Exception objErr = Server.GetLastError().GetBaseException();
            string err = "Error in: " + Request.Url.ToString() +
            ". Error Message:" + objErr.Message.ToString();

            log.Error(err); 

好了,到此为止整个配置过程完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值