• 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

    关于elmah.axd的安全設定

    Elmah添加日志文件访问权限

    利用Elmah和Google入侵的快感

    http://www.cnblogs.com/liquanchun/archive/2012/12/21/2827724.html

  • 相关阅读:
    微信开发 提示 Redirect_uri(错误10003)
    Windows激活
    百度区块链的数字宠物狗——莱茨狗
    导出数据之CSV[PHP]
    Mongo安装与使用
    开发神器之phpstorm破解与日常使用
    php常用方法
    开发工具之Sublime编辑器
    文件搜索神器之everything
    docker之基本命令(1)
  • 原文地址:https://www.cnblogs.com/chehaoj/p/3434138.html
Copyright © 2020-2023  润新知