简明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)。
接下来 就是要配置文件
<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>