麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 擴展 > MVC > 正文

MVC使用Log4Net進行錯誤日志記錄學習筆記4

2024-09-06 20:44:35
字體:
來源:轉載
供稿:網友

在Web應用運行過程中,我們難免會遇到程序運行異常,這個時候我們就應該將異常信息記錄下來,以便開發人員和維護人員對異常原因進行還原,對異常原因進行修復。在ASP.NET平臺中進行日志記錄的組件也有很多,如Log4Net、CommonLogging等,我們這里選用Log4Net進行異常日志的記錄。

1. 捕獲異常

在ASP.NET MVC中提供了一個全局的異常處理過濾器:HandleErrorAttribute,可以通過該過濾器捕獲異常信息。

我們在Models文件夾下新建類型Log4ExceptionAttribute,繼承HandleErrorAttribute類,同時重寫OnException方法來捕獲異常數據:          

using System.Web.Mvc;namespace PMS.WebApp.Models{  public class Log4ExceptionAttribute:HandleErrorAttribute  {    /// <summary>    /// 重寫OnException方法來捕獲異常數據    /// </summary>    /// <param name="filterContext"></param>    public override void OnException(ExceptionContext filterContext)    {      base.OnException(filterContext);      //捕獲當前異常數據      var ex = filterContext.Exception;    }  }}

新建過濾器后我們還需要在Global文件中調用的RegisterGlobalFilters方法中完成自己定義異常處理過濾的注冊。

using System.Web.Mvc;using PMS.WebApp.Models;namespace PMS.WebApp{  public class FilterConfig  {    public static void RegisterGlobalFilters(GlobalFilterCollection filters)    {      //filters.Add(new HandleErrorAttribute());      filters.Add(new Log4ExceptionAttribute());    }  }}

2. 考慮到多用戶并發操作時可能產生的問題,我們需要新建一個隊列來進行異常信息的暫存,同時開辟一個線程專門對隊列中的異常信息進行處理。

在Log4ExceptionAttribute類中新建一個靜態的異常類型的隊列,在發生異常后,程序自動觸發OnException方法,方法中將當前的異常信息入隊后,跳轉到錯誤頁面。

using System;using System.Collections.Generic;using System.Web.Mvc;namespace PMS.WebApp.Models{  public class Log4ExceptionAttribute:HandleErrorAttribute  {    public static Queue<Exception> Exceptions=new Queue<Exception>();    /// <summary>    /// 重寫OnException方法來捕獲異常數據    /// </summary>    /// <param name="filterContext"></param>    public override void OnException(ExceptionContext filterContext)    {      base.OnException(filterContext);      //捕獲當前異常數據      var ex = filterContext.Exception;      //將異常數據入隊      Exceptions.Enqueue(ex);      //跳轉到錯誤頁面      filterContext.HttpContext.Response.Redirect("/Error.html");    }  }}

Log4Net的配置是在應用程序配置文件中進行的,我們先在配置文件中進行Log4Net的配置。Log4Net需要配置的節點位置和SpringNet完全相同,首先需要在configSessions中新增子節點,然后在configuration節點中增加log4net節點完成具體配置。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕网在线 | 嫩呦国产一区二区三区av | 成人国产在线看 | 精品久久久久久久久久中出 | 羞羞答答www网站进入 | 黄色片免费在线播放 | 羞羞答答xxdd在线播放 | 九九热免费精品 | 在线高清中文字幕 | 欧美性受xxxx人人本视频 | 国产精品久久久久久久娇妻 | 538任你躁在线精品视频网站 | 狠狠操操| 91午夜在线观看 | 欧美一级高潮片免费的 | 亚洲午夜久久久久 | 自拍偷拍亚洲图片 | 三级国产三级在线 | 黄色网址在线视频 | 欧美一级黄色片在线观看 | 一区二区三区视频在线观看 | 欧美一级黄 | 中文字幕精品在线播放 | 久久免费精品视频 | 免费在线观看毛片视频 | 青青草成人影视 | 亚洲精品av在线 | 91精品国产综合久久青草 | 国产91久久精品一区二区 | 亚洲伊人色欲综合网 | 欧美高清第一页 | 色呦呦一区二区三区 | 19禁国产精品福利视频 | 自拍偷拍亚洲图片 | 国产成人精品日本亚洲语音 | 日韩在线毛片 | 国内久久久久 | 黄色高清免费 | 91久久精品一| 国产精品久久久免费观看 | 中文有码一区二区 |