成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

ASP.NET MVC使用Log4Net記錄異常日志并跳轉(zhuǎn)到靜態(tài)頁

瀏覽:411日期:2022-06-08 18:49:23

本篇體驗(yàn)在ASP.NET MVC 4中使用Log4Net記錄日志。

通過NuGet安裝Log4Net。

需求是:當(dāng)出錯(cuò)時(shí)導(dǎo)向到Error.html靜態(tài)頁面,Log4Net記錄錯(cuò)誤信息。

大致的思路是:

1、寫一個(gè)記錄日志的接口
2、實(shí)現(xiàn)記錄日志接口的類,用Log4Net的API實(shí)現(xiàn)
3、在Web.config中配置Log4Net
4、在Global.asax中注冊Log4Net
5、自定義一個(gè)出錯(cuò)頁,以便在出錯(cuò)時(shí)導(dǎo)向到該靜態(tài)頁面
6、ASP.NET MVC默認(rèn)的異常過濾器是HandleErrorAttribute,我們需要自定義一個(gè)繼承HandleErrorAttribute的過濾器,并把自定義的過濾器注冊到全局過濾器中去

首先定義一個(gè)記錄日志的接口。

    public interface ILoggerService    {void Info(string message);void Warn(string message);void Debug(string message);void Error(string message);void Error(Exception ex);void Fatal(string message);void Fatal(Exception ex);     }

實(shí)現(xiàn)ILoggerService,使用用Log4Net的API實(shí)現(xiàn)。

    public class LogHelper : ILoggerService    { private ILog _logger; public LogHelper() {    _logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);}public void Info(string message) {    _logger.Info(message);}public void Warn(string message) {    _logger.Warn(message);}public void Debug(string message) {    _logger.Debug(message);}public void Error(string message) {    _logger.Error(message);}public void Error(Exception ex) {    _logger.Error(ex.Message, ex);}public void Fatal(string message) {    _logger.Fatal(message);}public void Fatal(Exception ex) {    _logger.Fatal(ex.Message, ex);}    }

在Web.config中配置Log4Net。

<configuration>  <configSections>    ......    <!--日志的配置-->    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4Net" />  </configSections>   ......  <!--日志的配置開始-->  <log4net>    <root>      <level value="ALL" />      <appender-ref ref="SysAppender" />    </root>    <logger name="WebLogger">      <!--配置日志的級別,低于此級別的就不寫到日志里面去-->      <level value="DEBUG" />    </logger>    <!--系統(tǒng)日志的格式-->    <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net">      <param name="File" value="App_Data/" />      <param name="AppendToFile" value="true" />      <param name="RollingStyle" value="Date" />      <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />      <param name="StaticLogFileName" value="false" />      <layout type="log4net.Layout.PatternLayout,log4net"><!--<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />-->      <conversionPattern value="{%level}%date{MM/dd HH:mm:ss} - %message%newline%newline"/>      </layout>    </appender>    <!--控制臺(tái)日志的格式-->    <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">           <layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />      </layout>    </appender>  </log4net>  <!--日志的配置結(jié)束--></configuration>

在全局文件Global.asax中注冊Log4Net。

    public class MvcApplication : System.Web.HttpApplication    {protected void Application_Start(){    AreaRegistration.RegisterAllAreas();    ......    //讀取日志  如果使用log4net,應(yīng)用程序一開始的時(shí)候,都要進(jìn)行初始化配置    log4net.Config.XmlConfigurator.Configure();}    }

ASP.NET MVC默認(rèn)的異常過濾器是HandleErrorAttribute,我們需要自定義,繼承該類。

    public class MyHandleExceptionAttribute : HandleErrorAttribute    {public override void OnException(ExceptionContext filterContext){    base.OnException(filterContext);    var log  = new LogHelper();    log.Error("被系統(tǒng)過濾捕獲的異常" + filterContext.Exception);    filterContext.HttpContext.Response.Redirect("/Error.html");}    }

自定義的異常過濾器當(dāng)讓要注冊到全局過濾器中去。打開App_Start文件夾中的FilterConfig類,修改如下:

    public class FilterConfig    {public static void RegisterGlobalFilters(GlobalFilterCollection filters){    //filters.Add(new HandleErrorAttribute());    filters.Add(new MyHandleExceptionAttribute());}    }

在HomeController中故意留一個(gè)錯(cuò)誤。

    public class HomeController : Controller    {public ActionResult Index(){    int a = 10;    int b = 0;    var result = a/b;    return View();}    }

在項(xiàng)目根文件夾下頂一個(gè)Error.html靜態(tài)文件,用來呈現(xiàn)錯(cuò)誤提示信息。

當(dāng)瀏覽器請求Home/Index視圖,導(dǎo)向到Error.html出錯(cuò)頁,Log4Net自動(dòng)為我們在App_Data目錄下記錄了異常信息。

到此這篇關(guān)于ASP.NET MVC使用Log4Net記錄異常日志并跳轉(zhuǎn)到靜態(tài)頁的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持。

標(biāo)簽: ASP.NET
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产91丝袜在线观看| 26uuu国产电影一区二区| 日韩欧美视频在线| 免费视频最近日韩| 免费看的黄色欧美网站| 亚洲天堂中文字幕| 欧美色图首页| 国产亚洲成aⅴ人片在线观看| 成人黄色电影在线| 日韩免费电影网站| 国产一区二区三区蝌蚪| 欧美午夜不卡视频| 久久99国产精品麻豆| 欧美日韩三级视频| 国产精品综合网| 欧美一区午夜精品| 高清成人免费视频| 日韩女优av电影在线观看| 成人做爰69片免费看网站| 日韩无一区二区| 成人午夜免费视频| 久久久国产一区二区三区四区小说 | 亚洲人成伊人成综合网小说| 狠狠久久婷婷| 亚洲女厕所小便bbb| 亚洲精品系列| 亚洲一区免费视频| 亚洲欧美视频一区二区三区| 三级影片在线观看欧美日韩一区二区 | 性感美女久久精品| 91久久精品一区二区| 爽好多水快深点欧美视频| 在线观看日韩高清av| 韩国v欧美v日本v亚洲v| 在线成人小视频| 丁香婷婷综合网| 2019国产精品| 欧美福利视频| 亚洲欧洲三级电影| 亚洲一区三区视频在线观看| 天天做天天摸天天爽国产一区| 色婷婷综合在线| 国产在线精品一区在线观看麻豆| 日韩精品一区二| 欧美成人69av| 亚洲免费资源在线播放| 香蕉成人久久| 九九视频精品免费| 久久综合国产精品| 亚洲国产一区二区三区高清 | 国产精品一区二区黑丝| 精品国产乱码久久久久久久| 国内一区二区在线视频观看| 亚洲成人一区在线| 9191久久久久久久久久久| av亚洲精华国产精华精华| 国产精品国产三级国产aⅴ入口 | 精品欧美一区二区三区精品久久| 欧美精品入口| 亚洲电影中文字幕在线观看| 欧美日韩国产欧美日美国产精品| av电影天堂一区二区在线| 亚洲精品国产无套在线观| 色婷婷国产精品| 成人精品免费网站| 中文字幕在线一区免费| 久久亚洲图片| 高清在线观看日韩| 中文字幕中文字幕在线一区| 色偷偷88欧美精品久久久| 成人免费视频播放| 中文字幕日韩一区| 91国产福利在线| 9i在线看片成人免费| 亚洲欧美另类久久久精品| 欧美亚洲另类激情小说| 色综合色狠狠天天综合色| 亚洲一卡二卡三卡四卡五卡| 91精品视频网| 国产一区二区三区四区hd| 日韩精品成人一区二区三区| 精品欧美一区二区久久| 国产精品日韩欧美一区二区| 国产精品1区2区| 亚洲伦理在线精品| 337p亚洲精品色噜噜噜| 国产中文一区二区| 久久疯狂做爰流白浆xx| 欧美国产一区在线| 欧美三区在线视频| 欧美色综合网| 黄色精品一二区| 18欧美亚洲精品| 777午夜精品免费视频| 欧美视频久久| 韩日av一区二区| 亚洲色欲色欲www| 9191精品国产综合久久久久久| 亚洲国产国产亚洲一二三| 国内不卡的二区三区中文字幕| 国产精品久久网站| 欧美影视一区二区三区| 亚洲一级网站| 国产精品亚洲视频| 亚洲亚洲精品在线观看| 久久亚洲精品小早川怜子| 91久久一区二区| 激情婷婷欧美| 国产成人精品影视| 亚洲综合激情另类小说区| 久久伊99综合婷婷久久伊| 久久深夜福利| 国产精品二区在线观看| 国产在线麻豆精品观看| 伊人色综合久久天天| 精品国产伦一区二区三区免费 | 国产清纯白嫩初高生在线观看91| 欧美色精品天天在线观看视频| 亚洲精品无人区| 不卡的电视剧免费网站有什么| 日韩国产精品91| 成人欧美一区二区三区黑人麻豆| 91麻豆精品国产91久久久久久久久| 亚洲视频播放| 欧美激情第10页| 国产大陆a不卡| 日韩精品一二三区| 中文字幕一区二区不卡| 欧美xxxx老人做受| 欧美日韩美女一区二区| 国产亚洲福利| 欧美日韩国产综合视频在线| 国产高清不卡二三区| 日韩激情一区二区| 亚洲欧洲制服丝袜| www日韩大片| 欧美裸体bbwbbwbbw| 久久福利精品| 尤物在线精品| 欧美大香线蕉线伊人久久国产精品| 国产精品资源网| 亚洲永久精品大片| 国产精品免费av| www成人在线观看| 欧美三日本三级少妇三99| 国产福利精品导航| 免费高清视频精品| 亚洲免费观看高清完整版在线观看 | 国产精品一级黄| 日本成人在线一区| 亚洲一二三四久久| 亚洲三级在线播放| 欧美精品一区二区三区高清aⅴ| 欧美理论在线播放| 在线亚洲一区观看| 久久久久久久久一区二区| 亚洲精品乱码| 国产精品国产亚洲精品看不卡15| 97久久精品人人爽人人爽蜜臀| 国产精品夜夜爽| 精品一区二区在线视频| 同产精品九九九| 亚洲一级二级在线| 一区二区三区91| 亚洲视频在线观看三级| 欧美韩国一区二区| 欧美激情一区二区在线| 久久精品日韩一区二区三区| 久久久久久免费网| 久久蜜桃一区二区| 精品国产一区二区三区忘忧草 | 精品国产免费视频| 日韩一区二区三免费高清| 欧美男人的天堂一二区| 欧美日韩亚洲综合一区二区三区| 在线免费av一区| 欧美色综合久久| 欧美日韩一区 二区 三区 久久精品| 在线精品观看国产| 欧洲视频一区二区| 欧美色综合久久| 欧美精品日韩一区| 欧美一区二区三区在线观看视频| 欧美二区乱c少妇| 欧美一区二区在线免费观看| 欧美一区二区三区在线观看| 欧美成人三级电影在线| 精品日韩欧美在线| 久久久久国产精品厨房| 2017欧美狠狠色| 中文字幕成人网| 中文字幕一区二区不卡| 有坂深雪av一区二区精品| 一区二区三区在线观看动漫| 亚洲aaa精品| 麻豆精品国产传媒mv男同| 极品少妇xxxx精品少妇偷拍 | 一区二区三区高清视频在线观看| 国产日韩三区| 色吊一区二区三区|