前兩天發現一個開源日志組件ELMAH,一下子就喜歡上了,喜歡他的原因是它支持“熱插拔”(不需要改動任何的程序)、簡單的配置(幾行配置)、多種記錄方式(數據庫、文件、Email)、支持多數據庫(Access、SqlServer、Oracle、Sqlite、VistaDB),而且查看結果也不需要編寫(並且支持rss發布查看)。
ELMAH最新版本是ELMAH-1.0-BETA3,他是基於HttpModules、HttpHandlers的處理方式,只是記錄錯誤日志不進行處理,不過這已經足夠了,我們對於可能發生的異常地方肯定就會做處理的,對於意想不到的異常交給ELMAH就可以了,我們只需給用戶提供一個友好的錯誤頁面就可以了。
他的用法非常簡單,簡單的讓人無法相信,下面詳細介紹他的用法。
一、下載組件 最新組件點擊這裡下載ELMAH-1.0-BETA3,把bin文件加的Elmah.dll加入到項目中(他支持net-1.0、 1.1、2.0、3.5)。
二、把db文件夾下的sql腳本執行一下,我們這裡選擇SQLServer.sql,在你的數據庫中會生成一個ELMAH_Error表。
三、配置webconfig 在<configuration>中加入:
<configSections> <sectionGroup name="elmah"> <!-- 提示! ASP.NET1.x把requirePermission="false"去掉 --> <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/> <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" /> <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" /> <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/> </sectionGroup> </configSections> <elmah> <security allowRemoteAccess="0" /><!--是否允許遠程訪問。0代表否、1代表是--> <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="E:\LogHaHa\" /><!--記錄到文件--> </elmah>