在項目中要記錄日志,便于程序調試。于是就想到了大名鼎鼎的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文件可以快速的定位到問題的原因。好了,到此為止吧,謝謝閱讀。
新聞熱點
疑難解答