ELMAH(Error Logging Modules and Handlers for ASP.NET )是一款ASP.NET下的系统错误记录管理工具,它可以非常方便的把asp.net的错误记录到XML,MS SQLServer,SQLite,MySql等文件中,甚至它还可以发送邮件。
官方网站:http://code.google.com/p/elmah/
这是个开源的组件,可以非常方便的对网站全局进行错误报告 。
在 <configSections>节点添加
<sectionGroup name="elmah"> <section name="security" type="Elmah.SecuritySectionHandler, Elmah"/> <section name="errorLog" type="Elmah.ErrorLogSectionHandler, Elmah"/> <section name="errorMail" type="Elmah.ErrorMailSectionHandler, Elmah"/> <section name="errorFilter" type="Elmah.ErrorFilterSectionHandler, Elmah"/> </sectionGroup>
在configuration节点添加
<elmah>
<!--是否允许远程访问。0代表否、1代表是-->
<security allowRemoteAccess="1" />
<errorMail
from="test@test.com" 用于发送的邮箱
to="huangyuan413026@163.com,364965519@qq.com" 发送到这两个邮箱
subject="系统出错...." 标题
async="true" //异步
smtpPort="25"
smtpServer="mail.test.com"
userName="test@test.com"
password="*****"
noYsod="true|false"//邮件中是否包含附件
/>
网站/App_data/Access数据库
<errorLog type="Elmah.AccessErrorLog, Elmah" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Elmah.mdb" /> </elmah>
在httpHandlers节点下添加
访问huangyuan.axd就可以看到错误信息啦
<add verb="POST,GET,HEAD" path="huangyuan.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
在httpModules节点下添加
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
添加访问权限
<location path="elmah.axd">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
如果网站的服务器是Window2003 则要对路径有写入权限(IIs_wpg)