手把手教你,C#.Net如何用Log4net把錯誤日志寫入到SQLite數據庫中


    在項目中,我們往往會有把錯誤日志記錄下來的習慣,這樣有利於當網站發布后,能第一時間找到錯誤的所在地,以及錯誤的原因,以便於我們第一時間糾錯。往往我們會把錯誤日志直接寫到txt文本中,雖然操作簡單,但是卻不利於后期的維護。所以我們常常還會把錯誤日志記錄在數據庫中,而Log4net操作數據庫的性能相對較高,所以衍生出這篇文章。廢話不多講,開始教大家如何去配置。

一、首先需要准備好Log4net和SQLite的DLL文件

          Log4net的下載連接:http://logging.apache.org/log4net/download_log4net.cgi

          SQLite的下載連接:http://download.csdn.net/download/jailbreak02/3849378  (這是CSDN的資源感覺還不錯,並且下載不需要積分)   當然你到官網下載

          SQLite可視化工具破解版SQLiteManage:http://download.csdn.net/download/hhkun0120/6448773  

   

二、配置

CREATE TABLE Log (
    LogId        INTEGER PRIMARY KEY,
    Date        DATETIME NOT NULL,
    Level        VARCHAR(50) NOT NULL,
    Logger        VARCHAR(255) NOT NULL,
    Message        TEXT DEFAULT NULL
);
//這邊是創建SQlite日志表的語句

  

<configuration>
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> <bufferSize value="100" /> <connectionType value="Finisar.SQLite.SQLiteConnection, SQLite.NET, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> <connectionString value="Data Source=c:\\inetpub\\wwwroot\\logs\\log4net.db;Version=3;" /> <commandText value="INSERT INTO Log (Date, Level, Logger, Message) VALUES (@Date, @Level, @Logger, @Message)" /> <parameter> <parameterName value="@Date" /> <dbType value="DateTime" /> <layout type="log4net.Layout.RawTimeStampLayout" /> </parameter> <parameter> <parameterName value="@Level" /> <dbType value="String" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@Logger" /> <dbType value="String" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@Message" /> <dbType value="String" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> </appender> <root> <level value="all" /> <appender-ref ref="AdoNetAppender" /> </root> </log4net>

</configuration>

  

注意點:<connectionType value="Finisar.SQLite.SQLiteConnection, SQLite.NET, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />       這句話的Version版本好必須與你下載的SQLite.dll文件的版本號一致,具體版本好可以右擊這個DLL文件的屬性查看

三、客戶端的代碼

            //讀取Web.Config配置
            XmlConfigurator.Configure();  //這句話是需要加的
            //記錄入口
            ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
            log.Error("調用Log()錯誤");

  接下來就可以愉快的記錄日志了!

 

作者: LiuHuaTao( LiuHuaTao's Blog on 博客園) 
出處:http://www.cnblogs.com/Lhuatao/ 
作品由 LiuHuaTao 創作,采用知識共享署名-非商業性使用-禁止演繹 2.5 中國大陸許可協議進行許可。 歡迎轉載,但任何轉載必須保留完整文章,在顯要地方顯示署名以及原文鏈接。如您有任何疑問或者授權方面的協商,請給我留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM