log4net 配置与应用

  log4net(Log For Net)Apache源的用于.Net框架的日志记录工具,详细信息参Apache网站.它是针对Javalog4j(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>

 <param name="ConversionPattern" value="当前时间%d |当前线程:[%t] | 当前日志的级别 %-5p | 当前日志象名称:%c [%x] |日志消息: %m | 时间 [%r]  %n" />

<!--輸出文件格式説明:
   %d     
出当前句运行的
   %t     
当前句所在的线
   %-
数字:表示该项的最小度,如果不用空格填充
   %p     
日志的当前级别,即DEBUGINFO<WARN…
   %m     
出的日志消息,如ILog.Debug(…)>出的一条消息
   %n     

   %r     
運行的時間 
   %c     
当前日志象的名称

-->

        从上面的配置中可以看到定了多个appender一个appender就是一个日志记录的目root点指定了用哪一个 appender. 里我用了LogFileAppender

        里配置就基本上完成了,但是怎使用上面的配置呢?log4net提供了在用程序启动时配置信息的入口,很简单,在Global.asax.csApplication_Start程中添加如下代
log4net.Config.DOMConfigurator.Configure();
好了,到此止整个配置程完成了,下面是怎么调用的问题了。 

using log4net;

public partial class _Default : System.Web.UI.Page 
...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
        log4net.ILog logger = log4net.LogManager.GetLogger(this.GetType());
        logger.Info("程序已");
        logger.Error("程序没有错误");
        logger.Debug("程序调试");

    }
}

C:/下面会生成一个Applog.txt文本文件,看看,里面就有你写入的日志。
log4net.Layout.PatternLayout中的转换模式(ConversionPattern)   如下:

%m(message):出的日志消息,如ILog.Debug(…)出的一条消息

%n(new line):

%d(datetime):出当前句运行的

%r(run time):出程序从运行到行到当前消耗的毫秒数

%t(thread id):当前句所在的线ID

%p(priority): 日志的当前级别,即DEBUGINFOWARN…

%c(class):当前日志象的名称,例如:

       模式字符串%-10c -%m%n

       码为

ILog log=LogManager.GetLogger(“Exam.Log”);

log.Debug(“Hello”);

    则输下面的形式:

Exam.Log       - Hello

%L句所在的行号

%F句所在的文件名

%-数字:表示该项的最小度,如果不用空格填充

例如,转换模式%r [%t]%-5p %c - %m%n PatternLayout 将生成似于以下内容的出:

176 [main] INFO org.foo.Bar - Located nearest gas station.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值