前言
在項目開發、測試以及已經上線的項目中都會存在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中的簡單配置,相信一個好的日志記錄組件能給我們的開發帶來更便利的好處,其他更多的功能留待以后在進行探討。
本人初次使用本組件,若有問題歡迎指出。