在ASP.NET的3层中使用log4net

本文介绍log4net的日志记录工具配置与使用方法。log4net是.NET框架下的开源日志组件,通过Web.config文件配置logger和appender实现日志记录。文中详细展示了配置示例及如何在代码中调用。

        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配置文件中完成,所用的代码极少.
其配置如下:

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

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

 

2.用过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.DOMConfigurator.Configure();
好了,到此为止整个配置过程完成了,下面是怎么调用的问题了。

        新建一个log4nettest.aspx页面,在cs文件中添加引用 using log4net;定义本页的一个全局变量:
private static readonly ILog log = LogManager.GetLogger(typeof(log4nettest));注意:此log4nettest为此类名

        然后在Page_Load中添加如下代码:log.Debug("这是我在使用Log4Net");运行该页面,在C:/下面会生成一个Applog.txt文本文件,打开看看,里面就有你写入的日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值