Welcome 微信登录

首页 / 网页编程 / ASP.NET / 一个真正的热插拔开源的日志记录组件

一个真正的热插拔开源的日志记录组件2011-12-13 博客园 我爱长发飘飘前两天发现一个开源日志组件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>