ELMAH 使用
之前大部分系统日志记录是使用log4net、ObjectGuy Framework、NLog 等工具记录到文本或数据库。 更强大的工具可以使用 ELMAH。
ELMAH(The Error Logging Modules And Handlers),直译过来就是“错误日志模块和处理”,它提供了一个用于集中记录和通知错误日志的机制。它是专用于ASP.NET的完全可热插拔的错误日志记录工具。其特点就是无需ASP.NET程序重新编译,即可通过配置web.config(或machine.config)来实现整个应用程序甚至是IIS中所有ASP.NET应用程序的错误日志记录工作。ELMAH既支持ASP.NET Web Forms 又支持 ASP.NET MVC。你可以对ELMAH进行配置来存储各种不同的错误(XML文件,事件日志,Access数据库,SQL数据库,Oracle数据库,或者计算机 RAM)。除了提供一个界面用于查询日志详细信息外,还可以通过E-MAIL、RSS等方式通知错误信息给相关人员。
目前ELMAH已有:

ELMAH Core Library (no config)--没有任何配置的ELMAH的核心库(错误日志模块和处理程序), 这个只包含程序库。如果你已经有了自定义ELMAH配置或者你想新建一个,你可以依赖并使用这个“核心”软件包。
ELMAH--依赖于核心的程序库,是一个“入门”的库。
ELMAH on MS SQL Server --能通过WEB.CONFIG快速配置把错误日志记录保存到Microsoft SQL Server 数据库上。
ELMAH on XML Log -- 记录到XML
ELMAH.MVC -- 支持ASP.NET MVC 模式
接着我们新建一个 ASP.NET 空 Web应用程序,再通过管理NuGet程序包来安装 ELMAH

安装完毕之后,在解决方案中将看到引用中 多了 "Elmah" 和 package.config 配置文件,这是NuGet 自动配置完成,不需要手动配置(当然需要自定义和其他设置的还是需要手动配置)。

新建一个测试页面:TestTrace.aspx 在页面拖放一个文本框和一个按钮

运行:

接下来我们通过 “~/elmah.axd” 来访问ELMAH 记录的日志错误

显示: No errors found.
没有错误发现是因为还根本没有写CODING。 接着我在BUTTON 事件下面写入以下代码:
protected void Button1_Click(object sender, EventArgs e)
{
var txtValue = Convert.ToInt32(TextBox1.Text);
Response.Write("输入的值是:" + txtValue);
}
再次运行 输入 “ABC” 点击 Button , 这时候该页面一定报错:字符串无法转换成INT类型。
如果我自定义错误页面,这时候立马跳到错误页面 而不知道发生了什么错误。 这是通过“~/elmah.axd” 来看会发现记录的错误有

点击 “Details...” 查看详细

注:在实际应用中对 “~/elmah.axd”访问权限应进行访问限制,具体参考ELMAH:https://code.google.com/p/elmah/。
相关链接:
http://blogs.msdn.com/b/scott_hanselman/archive/2011/07/26/nuget-sql-server-compact-elmah.aspx
http://www.cnblogs.com/liquanchun/archive/2012/12/21/2827724.html
ELMAH 使用的更多相关文章
- C#组件系列———又一款日志组件:Elmah的学习和分享
前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候 ...
- 三分钟集成elmah xml 格式日志到mvc站点
1.通过nuget安装Elmah ELMAH on XML Log 会自动在web.config 文件中添加配置内容,默认不允许远程访问,日志访问路径是 Elmah.axd,不记录500错误 2.修改 ...
- ElasticSearch+NLog+Elmah实现Asp.Net分布式日志管理
本文将介绍使用NLOG.Elmah结合ElasticSearch实现分布式日志管理. 一.ElasticSearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布 ...
- 使用 Elmah一些要注意的问题
http://www.cnblogs.com/apsnet/archive/2012/04/28/2474730.html 1. Elmah使用后,在发布时,要区分IIS6和IIS7 ,IIS6下 H ...
- Elmah 日志记录组件
http://www.cnblogs.com/jys509/p/4571298.html 简介 ELMAH(Error Logging Modules and Handlers)错误日志记录模块和处理 ...
- ELMAH入门
简介 ELMAH(Error Logging Modules and Handlers)错误日志记录模块和处理程序,是一种应用广泛的错误日志工具是完全可插拔.它可以动态添加到一个正在运行的ASP.NE ...
- 【工具推荐】ELMAH——可插拔错误日志工具
今天看到一篇文章(构建ASP.NET网站十大必备工具(2)),里面介绍了一个ELMAH的错误日志工具,于是研究了一下. ELMAH 是 Error Logging Modules and Handle ...
- Using sql azure for Elmah
The MSDN docs contain the list of T-SQL that is either partially supported or not supported. For ex ...
- 【手把手教你Elmah】如何在MVC.NET项目中在线查看【错误日志】
一. 在NuGet下载Elmah.MVC dll文件! 或者点击下载dll文件,并且引用客户端. 二.配置WebConfig <sectionGroup name="elmah& ...
- ELMAH+MVC4+SQLite 错误日志
任何程序我想无论是在调试开发阶段还是上线运营阶段,都能够使人“放心”,不要出什么意外,也不要玩什么心跳:那就需要比较到位和及时的异常与错误日志模块. 本文将简要描述ELMAH.MVC4与SQLite这 ...
随机推荐
- centos上自动执行脚本执行php文件
1 先编写执行PHP文件的脚本 vi php.sh #!/bin/sh /usr/bin/php /etc/1.php 2把php.sh添加到自动执行任务中 cd /etc/ vi crontab * ...
- win10下装的ubuntu14.04双系统,ubuntu系统访问win10磁盘问题
参考:https://blog.csdn.net/u010426270/article/details/52420231 ubuntu下 解决方法: 1. 在终端输入如下命令,查看分区挂载情况 sud ...
- leetcode227
class Solution { public: stack<int> OPD; stack<char> OPR; int calculate(int num1, int nu ...
- Spring MVC 自定义视图
实现View import org.springframework.stereotype.Component; import org.springframework.web.servlet.View; ...
- Mysql 获取当月和上个月第一天和最后一天的解决方案
#获取当前日期select curdate(); #获取当月最后一天select last_day(curdate()): #获取本月的第一天select date_add(curdate(),int ...
- spring浏览器国际化的原理
We will add two languages support to our application: English and German. Depending on the locale se ...
- 出现了npm ERR! cb() never called!错误
执行npm i 命令时,出现了npm ERR! cb() never called!错误 解决方案: 1.首先清除你的npm缓存: sudo npm cache clean -f 一般情况执行完后再试 ...
- Centos7 配置ssh 免秘钥登陆
1.yum install -y openssh 2.servier1: ssh-keygen -t rsa #有提示的直接enter 3.server 2: ssh-keygen -t rsa # ...
- ALL ANY SOME 这样解释好理解很多
--All:对所有数据都满足条件,整个条件才成立,例如:5大于所有返回的id select * from #A where 5>All(select id from #A) go --Any:只 ...
- 带图标的input
<style> .text{ border:solid 2px #ccc; width:400px; height:40px; background:url(http://d.lanren ...