• <cite id="7326f"></cite>
    <sub id="7326f"></sub>

  • <legend id="7326f"></legend>
    <thead id="7326f"></thead>

  • 午夜免费福利小电影,日韩精品亚洲专在线电影,最新偷拍一区二区三区,国产精品多p对白交换绿帽,澳门永久av免费网站,亚洲国产日韩a在线播放,亚洲国产精品高清线久久,日日噜噜夜夜狠狠视频

    MVC如何使用Log4Net進行錯誤日志記錄

    時間:2021-04-13 13:22:31 日志日記

    MVC如何使用Log4Net進行錯誤日志記錄

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

    MVC如何使用Log4Net進行錯誤日志記錄

      1. 捕獲異常

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

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

      using System.Web.Mvc;namespace PMS.WebApp.Models{ public class Log4ExceptionAttribute:HandleErrorAttribute { ///

      /// 重寫OnException方法來捕獲異常數據 ///

      ///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 QueueExceptions=new Queue(); ///

      /// 重寫OnException方法來捕獲異常數據 ///

      ///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節點完成具體配置。

      ...

      在配置文件中可以對日志記錄的信息、格式、文件名等作出具體的配置,下面是配置信息的詳解

      <"1.0"?>

      在Global文件中的Application_Start方法中開啟一個線程,用于將隊列中的錯誤信息寫入日志文件。

      using System.Linq;using System.Threading;using System.Web.Http;using System.Web.Mvc;using System.Web.Optimization;using System.Web.Routing;using log4net;using PMS.WebApp.Models;using Spring.Web.Mvc;namespace PMS.WebApp{ // 注意: 有關啟用 IIS6 或 IIS7 經典模式的說明, // 請訪問 http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : SpringMvcApplication//HttpApplication { protected void Application_Start() { log4net.Config.XmlConfigurator.Configure();//讀取Log4Net配置信息 AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //開啟一個線程,掃描異常信息隊列. var filePath = Server.MapPath("/Log/"); ThreadPool.QueueUserWorkItem((a) => { while (true) { //判斷隊列中是否有數據 if (Log4ExceptionAttribute.Exceptions.Any()) { //出隊一條異常信息 var ex = Log4ExceptionAttribute.Exceptions.Dequeue(); //若異常信息不為空 if (ex == null) continue; //將異常信息寫入到日志文件中 var logger = LogManager.GetLogger("errorMsg"); logger.Error(ex.ToString()); } else { //若異常信息隊列為空,則線程休息三秒 Thread.Sleep(3000); } } }, filePath); } }}

      成功完成錯誤日志的配置。

      以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

    【MVC如何使用Log4Net進行錯誤日志記錄】相關文章:

    防火墻日志記錄對安全知識進行全面解讀02-16

    愛情日志記錄03-01

    旅游的記錄日志06-29

    傷感日志的記錄04-10

    C++日志記錄類以及日志記錄程序06-23

    記錄之中-心情日志11-06

    愛的初記錄日志04-29

    使用增添進行造句04-19

    MyQL Server的錯誤日志06-23

    主站蜘蛛池模板: 97成人碰碰久久人人超级碰oo | 风流老熟女一区二区三区| 国产一区二区精品久久凹凸| 亚洲一本二区偷拍精品| 国产免费久久精品44| jizz喷水| 国产人与禽zoz0性伦多活几年 | 免费吃奶摸下激烈视频青青网| 免费观看欧美猛交视频黑人| 国产国语毛片在线看国产| 久久中文字幕人妻| 亚洲精品久久一区二区三区四区| 一本无码人妻在中文字幕免费| 在线免费看黄的网站| 国产在线永久视频| 精品一区二区三区女性色| 国产另类ts人妖一区二区| 一本一道久久综合狠狠老| 资中县| 三上悠亚网站在线观看一区二区| 中文国产不卡一区二区| 久久精品岛国AV一区二区无码| 国产午夜精品福利免费不| 中文AV电影网| 亚洲精品www久久久久久| 国产丰满麻豆videossexhd| 综合国产av一区二区三区| 无码av免费毛片一区二区 | 免费av深夜在线观看| 成人国产精品一区二区网站公司| 无码人妻精选| 一区二区国产高清视频在线| 国内自拍视频在线观看播放| 麻豆国产va免费精品高清在线| av色蜜桃一区二区三区| 国产AV大全| 特黄特色的大片观看免费视频| 郧西县| 真实国产乱子伦对白视频| 亚洲成AV人在线观看网址| 天天看片视频免费观看|