• 利用ELMAH和Sqlite快速完成错误日志的捕获和存储


    ELMAH 是 Error Logging Modules and Handlers for ASP.NET 的缩写,它是一款开源的Web应用程序错误信息记载工具,能够自动捕获用户在访问网站中所发生的各种错误,并可通过简单配置来邮件通知用户及时解决他们所遇到的错误,拉近网站和用户之间的距离,让用户有种被重视的感觉。

    一、通过NuGet(维护.NET FrameWork常用类库的VS2010扩展)在线安装ELMAH,安装步骤

    二、安装成功后,会自动在Web.config中添加如下关于ELMAH的配置内容(有删节):

    <configuration>
        <configSections>
            <sectionGroup name="elmah">
                <section name="errorLog" requirePermission="false"
                                     type="Elmah.ErrorLogSectionHandler, Elmah"/>
            </sectionGroup>
        </configSections>
     
        <elmah>
            <errorLog type="Elmah.SQLiteErrorLog, Elmah" connectionStringName="ELMAH.SQLite"/>
        </elmah>
     
        <connectionStrings>
            <add name="ELMAH.SQLite"
                         connectionString="Data Source=|DataDirectory|errors.s3db"/>
        </connectionStrings>
     
        <system.web>
            <httpModules>
                <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
                <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
            </httpModules>
     
            <httpHandlers>
                <add verb="POST,GET,HEAD" path="elmah.axd"
                                 type="Elmah.ErrorLogPageFactory, Elmah"/>
            </httpHandlers>
        </system.web>
    </configuration>
    

     其中在errorLog配置节,type有四个值表示错误日志的四种存储方式,MemoryErrorLog表示内存存储只适合调试环境不适用生产环境中,因为ASP.NET Development Server停止,IIS重启等会导致错误信息丢失;XmlFileErrorLog表示Xml文件方式存储错误信息,每个xml文件只存储一条错误信息,如果错误过多,每个xml文件都需要打开查看,麻烦;SqlErrorLog表示将错误信息存储在Sqlserver关系数据库中,但是需要事先创建用来存储错误信息的数据表,以及读取和存储错误信息的存储过程,也麻烦;所以个人推荐SQLiteErrorLog这种方式,用Sqlite这种嵌入式数据库存储速度快,更重要无需任何配置,除了上面的Web.config文件中添加的两行红色文字。其中connectionString="Data Source=|DataDirectory|errors.s3db" 表示数据库字符串链接信息,在App_Data文件夹中如果没有errors.s3db数据库文件,系统将自动创建一个。

    三、通过NuGet安装SQLite ADONET驱动 (同时支持32bit和64bit的操作系统)

    四、运行系统,在地址栏输入:http://localhost:360/Elmah.axd, 即可看到具体的错误信息

    点击Details链接会看到错误信息出现在具体的代码位置。

    关于ELMAH安全访问和更详细的配置,尽量下篇记录或者查看下面这些大作。

    ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇  http://www.cnblogs.com/lerit/archive/2011/04/19/2020565.html
    【工具推荐】ELMAH——可插拔错误日志工具    http://www.cnblogs.com/liping13599168/archive/2011/02/23/1962625.html

    使用 Elmah一些要注意的问题  http://www.cnblogs.com/apsnet/archive/2012/04/28/2474730.html

    btw:新年开篇,一下子过去了一个小时,力求克服2012年光做不写的毛病,如果觉得可以,请给与我继续总结下去的动力 :),祝园子的兄弟们新年快乐!

  • 相关阅读:
    列举些个建模软件及其crack方法
    解除Server2008远程桌面管理重重关卡
    VMware运行报错
    当下流行的分布式文件系统大阅兵
    Tomcat的目录结构详解
    从Windows Server文件服务到分布式文件服务
    cloudfoundry
    动态磁盘&动态卷
    管理日志(1):为什么要开会
    C# 面试题目 destructor可以是虚方法吗?
  • 原文地址:https://www.cnblogs.com/finesite/p/2841785.html
Copyright © 2020-2023  润新知