简明log4net的新手教程


首先讲下什么是log4net:
基本现在的大项目里 基本上将异常错误信息,写入日志文件里。方便开发人员查错。因为当项目一旦发布部署之后,就不太可能再利用专门的调试工具了。管理可以跟踪日志来诊断和修复配置上的问题。
它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。

下载DLL :/Files/baolin123/Bin.rar

代码:
1.加入需要做日志的类:
 log4net.ILog log = log4net.LogManager.GetLogger("Default");
2.读取日志配置文件:
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("XMLFile.xml")));

Log4net框架定义了一个ILog接口,所有的logger类都必须实现这个接口。如果你想实现一个自定义的logger,你必须首先实现这个接口。你可以参考在/extension目录下的几个例子。
ILog接口的定义如下:


public interface ILog

{

  void Debug(object message);

  void Info(object message);

  void Warn(object message);

  void Error(object message);

  void Fatal(object message);


}

Log4net框架定义了一个叫做LogManager的类,用来管理所有的logger对象。它有一个GetLogger()静态方法,用我们提供的名字参数来检索已经存在的Logger对象。如果框架里不存在该Logger对象,它也会为我们创建一个Logger对象。代码如下所示:

log4net.ILog log = log4net.LogManager.GetLogger("logger-name");

通常来说,我们会以类(class)的类型(type)为参数来调用GetLogger(),以便跟踪我们正在进行日志记录的类。传递的类(class)的类型(type)可以用typeof(Classname)方法来获得,或者可以用如下的反射方法来获得:

System.Reflection.MethodBase.GetCurrentMethod().DeclaringType

尽管符号长了一些,但是后者可以用于一些场合,比如获取调用方法的类(class)的类型(type)。

接下来 就是要配置文件

<log4net debug="true">
<appender name="FlatFile" type="log4net.Appender.RollingFileAppender,log4net">
    <param name="File" value="Logs/website.txt" />
    <param name="AppendToFile" value="true" />
    <param name="RollingStyle" value="Date" />
    <param name="DatePattern" value="yyyy.MM.dd" />
    <param name="StaticLogFileName" value="true" />
    <layout type="log4net.Layout.PatternLayout,log4net">
  <param name="ConversionPattern" value="%-5level [%logger] - %message [%date] %newline" />
    </layout>
</appender>
<root>
    <priority value="DEBUG" />
    <appender-ref ref="FlatFile" />
</root>
</log4net>




posted @ 2009-07-28 17:50  稳扎稳打  Views(464)  Comments(1Edit  收藏  举报