如果你的一个项目需要你了解它在执行的过程中的详细数据,或者你想为以后故障原因的查找提供一份详细的数据,那么你最好的方法就是给它的执行过程做详细的或者是必要的日志记录。
这些日志记录通常我们会用文本或者数据库来存储,要实现这些并不是很难,当然我们可以自己写代码来处理,但是有一些开源的而且功能全面的专用工具是更好的选择,log4net就是其中一款。
最新版的下载地址:http://logging.apache.org/log4net/downloads.html
下载 incubating-log4net-1.2.10.zip,解压后打开里面的src目录,在Visual Studio 中载入log4net.sln,编译后得到log4net.dll,然后将这个dll引入你的项目。
在ASP.NET网站中的配置:
一、引入log4net.dll
二、程序加载
打开你的代码页,引入名称:log4net,实例化一个log4net的Ilog类:
private ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
设置配置文件:
XmlConfigurator.Configure(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["log4net-config-file"]));
在web.config中配置:<add key="log4net-config-file" value="log4net.config"/>
打开刚刚解压的log4net文件夹,依次展开:/log4net-1.2.10/bin/net/2.0/release,里面的log4net.xml给出了log4net相关配置的示例
以下是一个简洁的配置文件范例:
将下载的log4net.config文件拷到你的项目根目录下,这个文件主要是对文本记录方式的配置,官方的关于配置的说明: http://logging.apache.org/log4net/release/config-examples.html
log4net支持多种格式的输出,有自定义的一些功能参数,比如按日期生成日志文件名,按随机数生成文件名等等,关于log4net详细的参数说明: http://logging.apache.org/log4net/release/sdk/log4net.Util.PatternString.html
三、记录
假如实例化的Ilog类是log,要记录的日志级别是:Info,要记录的信息是:测试,那么就是:log.Info("测试");
记录生成的格式是我们在配置文件中指定的:%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline
形如:2007-06-29 15:11:45,765 [3256] INFO [(null)] <(null)> - 测试
log4net共有五个级别,分别是:Debug、Info、Warn、Error、Fatal
其它的相关说明:
其它的开源日志记录工具:http://www.cs-open.com/sort/13.html