ASP.NET MVC4簡單使用ELMAH記錄系統日志


前言

  在項目開發、測試以及已經上線的項目中都會存在bug,而如果我們在項目的各個階段都能及時的監控系統出現的任何問題,那么對於我們開發人員來說完善系統,減少bug,甚至安全防護等都是一件十分有利的事情。網上有很多的系統日志記錄框架,ELMAH在我們使用mvc開發的時候提供了簡單便捷的服務,這個框架的好處是我們不僅可以通過本地可以記錄系統錯誤,而且可以配置遠程發送錯誤,如利用郵箱傳送錯誤等,這樣我們便可以隨時監控我們的項目及時處理問題,接下來簡單的配置一下ELMAH來記錄mvc項目的錯誤。

步驟

1、建立一個基本的mvc4程序

新建——>項目——>web項目——>ASP.NET MVC4 web應用程序,我們選擇一個不帶任何controller的基本項目。

2、使用NugGet程序包管理工具安裝ELMAH

  在項目引用出右擊選擇管理nuget程序包,然后聯機搜索ELMAH,如下圖:

選擇安裝ELMAH,項目自動添加其依賴的類庫並自動配置web.config

3、配置節點

查看web.config我們可以看到ELMAH為我們添加的配置文件,如下:

<configSections>
    <sectionGroup name="elmah">
      <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
      <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
      <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
      <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
    </sectionGroup>
  </configSections>
 
  <elmah>
    <security allowRemoteAccess="yes" />
  </elmah>
 
  <system.web>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
    </httpModules>
    <httpHandlers>
      <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
    </httpHandlers>
  </system.web>
 
  <system.webServer>
    <modules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
    </modules>
    <handlers>
      <add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
    </handlers>
  </system.webServer>
 
</configuration>

接下來修改一下Global.asax,注釋掉mvc自帶的異常過濾器

運行項目,由於我們沒有添加controller的原因,系統會出現如下錯誤提示:

這樣的錯誤十分不友好,直接看是看不出任何錯誤的,下面查看ELMAH的錯誤信息。

3、查看錯誤信息

在地址欄輸入http://localhost:10140/elmah.axd查看日志,如下圖

點擊Details查看錯誤詳情:

這是一個錯誤的詳細信息頁,相信這個可以很順利的幫我們解決系統問題。

總結:

  以上就是ELMAH在mvc中的簡單配置,相信一個好的日志記錄組件能給我們的開發帶來更便利的好處,其他更多的功能留待以后在進行探討。

本人初次使用本組件,若有問題歡迎指出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM