最近的 MSDN 上介绍了一个利用 Http Module Handler 实现的错误记录模块 ELMAH((Error Logging Modules And Handlers)), 他可以记录所有没有处理的 ASP.net 程序异常, 不需要修改现有的代码, 不需要重新编译部署, 修改 Web.config dll 拷到bin 就好了. ELMAH不仅可以记录下详细的出现在客户端著名的黄屏错误描述, 还包括服务器变量, Cookie, 窗体变量(默认的不在报告中显示Cookie, 窗体变量,但是可以自己修改扩展)等等其他东东.

错误日志的查阅也非常的方便, 非常的棒, 更好的是, 居然还支持发布成 RSS 这样就可以通过你喜欢的新闻阅读器定时查询阅读啦,下面就是MSDN上的几张图:

 

图1日志列表


图2查看详细错误信息


图3 RSS方式的日志信息

ELMAH
可以很方便的扩展支持多种后端存储方式, 它自身附带支持2种方式 : SqlErrorLog (SQL Server 2000) MemoryErrorLog (内存), 如果不能满足你的需要还可以增加比如 XML, 其他数据库等存储方式哦.

 

刚刚说了只要修改 Web.config 拷一个dll , 连查看日志需要访问的 aspx 页面都不需要, 纯粹是通过 httpHandler 处理的,干净利落. 最大程度上不会破坏原来的系统.不喜欢可以随时删掉.

 

具体的技术实现和用法文章里面都很详细的, 而且开放了代码, 大家可以在遵守许可前提下自由使用哦, 顺便再学习一下 Http Module Handler.

 

ELMAH 代码可以在这里下载

http://workspaces.gotdotnet.com/elmah

 

MSDN介绍文章在这里

http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/elmah.asp

 posted on 2004-10-26 09:23  一切由.NET开始  阅读(2571)  评论(4编辑  收藏  举报