在项目中要记录日志,便于程序调试。于是就想到了大名鼎鼎的Log4Net,这货可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, access, Oracle9i,Oracle8i,Oracle11g,DB2,SQLite)中,并且可以控制日志级别:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)等。撰写此文的目的主要是便于以后Review,如果能解决大家的问题,幸甚!
一、获取log4net
该组件可以在http://logging.apache.org/log4net/download_log4net.cgi获取,并且开源。
二、配置log4net
如何配置可参考周公的这篇文章:http://blog.csdn.net/zhoufoxcn/article/details/2220533,另外,本文部分语句从该文中引用的,特意说明下。
三、扩展log4net(Log4net自定义信息存入数据库)
log4net本身提供了几个默认的字段,并且支持扩展,具体可参考这位前辈的文章:http://blog.csdn.net/Ajaxtop/article/details/6696933。
三、如何调试
刚开始使用log4net的时候,配置完了之后运行,发现数据库里没有数据,就是说配置不成功啊,而且也没有抛出什么异常信息之类的,难道这个组件没有输出异常或者调试信息的功能嘛,后来仔细看了看周公的配置说明可以按如下配置:
启用log4net调试信息输出:
<appSettings> <!-- To enable internal log4net logging specify the following appSettings key --> <add key="log4net.Internal.Debug" value="true"/> </appSettings>
或者在节点 <log4net debug="true">上设置
设置调试信息输出到文件:
<system.diagnostics> <trace autoflush="true"> <listeners> <add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="D:/CSPRojects/Log4NetDemo/Log4NetDemo/bin/log4net.txt" /> </listeners> </trace> </system.diagnostics
PS:确认文件log4net.txt 可写
通过查看log4net.txt文件可以快速的定位到问题的原因。好了,到此为止吧,谢谢阅读。
新闻热点
疑难解答