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

您的位置:首頁技術文章
文章詳情頁

log4net在Asp.net MVC4中的使用過程

瀏覽:382日期:2022-06-14 15:00:03
目錄1、安裝log4net插件2、配置web.config文件3、初始化log4net4、定義異常攔截器5、后臺線程輪詢異常隊列,將日志寫入到文件6、控制器中定義異常測試方法7、啟動程序測試action方法1、安裝log4net插件

新建Asp.net MVC4項目,并在Nuget控制臺輸入命令,或者直接搜索log4net在線安裝,安裝log4net

>Install-Package log4net -Version 2.0.15

2、配置web.config文件<?xml version='1.0' encoding='utf-8'?><!-- 有關如何配置 ASP.NET 應用程序的詳細信息,請訪問 https://go.microsoft.com/fwlink/?LinkId=301880 --><configuration> <configSections> <section name='log4net' type='log4net.Config.Log4NetConfigurationSectionHandler,log4net'/> </configSections> <log4net> <root> <level value='ALL'></level> <appender-ref ref='SysAppender'></appender-ref> </root> <logger name='WebLogger'> <!--日志輸出級別限制,只有大于或等于DEBUG級別才記錄日志--> <level value='DEBUG'></level> </logger> <!--以滾動日志方式記錄日志--> <appender name='SysAppender' type='log4net.Appender.RollingFileAppender,log4net'> <!--文件存放路徑,在項目根目錄App_Data下--> <param name='File' value='App_Data/'></param> <!--日志是否追加到文件--> <param name='AppendToFile' value='true'></param> <!--滾動日志文件按照日期風格生成--> <param name='RollingStyle' value='Date'></param> <!--日志文件的命名規則--> <param name='DatePattern' value='&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;'></param> <!--日志名稱是否靜態--> <param name='StaticLogFileName' value='false'></param> <!--日志內容的格式和布局--> <layout type='log4net.Layout.PatternLayout,log4net'><param name='ConversionPattern' value='%d [%t] %-5p %c - %m%n'></param><param name='Header' value='-------------------------header---------------------------'></param><param name='Footer' value='-------------------------footer---------------------------'></param> </layout> </appender> <!--按照控制臺輸出日志--> <appender name='ConsoleApp' type='log4net.Appender.ConsoleAppender,log4net'> <layout type='log4net.Layout.PatternLayout,log4net'><param name='ConversionPattern' value='%d [%t] %-5p %c - %m%n'></param> </layout> </appender> </log4net> <appSettings> <add key='webpages:Version' value='3.0.0.0' /> <add key='webpages:Enabled' value='false' /> <add key='ClientValidationEnabled' value='true' /> <add key='UnobtrusiveJavaScriptEnabled' value='true' /> </appSettings> <system.web> <compilation debug='true' targetFramework='4.6.1' /> <httpRuntime targetFramework='4.6.1' /> <httpModules> <add name='ApplicationInsightsWebTracking' type='Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web' /> </httpModules> </system.web> <runtime> <assemblyBinding xmlns='urn:schemas-microsoft-com:asm.v1'> <dependentAssembly><assemblyIdentity name='Antlr3.Runtime' publicKeyToken='eb42632606e9261f' /><bindingRedirect oldVersion='0.0.0.0-3.5.0.2' newVersion='3.5.0.2' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='System.Diagnostics.DiagnosticSource' publicKeyToken='cc7b13ffcd2ddd51' /><bindingRedirect oldVersion='0.0.0.0-4.0.2.1' newVersion='4.0.2.1' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='Newtonsoft.Json' publicKeyToken='30ad4fe6b2a6aeed' /><bindingRedirect oldVersion='0.0.0.0-11.0.0.0' newVersion='11.0.0.0' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='System.Web.Optimization' publicKeyToken='31bf3856ad364e35' /><bindingRedirect oldVersion='1.0.0.0-1.1.0.0' newVersion='1.1.0.0' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='WebGrease' publicKeyToken='31bf3856ad364e35' /><bindingRedirect oldVersion='0.0.0.0-1.6.5135.21930' newVersion='1.6.5135.21930' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='System.Web.Helpers' publicKeyToken='31bf3856ad364e35' /><bindingRedirect oldVersion='1.0.0.0-3.0.0.0' newVersion='3.0.0.0' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='System.Web.WebPages' publicKeyToken='31bf3856ad364e35' /><bindingRedirect oldVersion='1.0.0.0-3.0.0.0' newVersion='3.0.0.0' /> </dependentAssembly> <dependentAssembly><assemblyIdentity name='System.Web.Mvc' publicKeyToken='31bf3856ad364e35' /><bindingRedirect oldVersion='1.0.0.0-5.2.4.0' newVersion='5.2.4.0' /> </dependentAssembly> </assemblyBinding> </runtime> <system.webServer> <modules> <remove name='TelemetryCorrelationHttpModule' /> <add name='TelemetryCorrelationHttpModule' type='Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation' preCondition='integratedMode,managedHandler' /> <remove name='ApplicationInsightsWebTracking' /> <add name='ApplicationInsightsWebTracking' type='Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web' preCondition='managedHandler' /> </modules> <validation validateIntegratedModeConfiguration='false' /> </system.webServer> <system.codedom> <compilers> <compiler language='c#;cs;csharp' extension='.cs' type='Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' warningLevel='4' compilerOptions='/langversion:default /nowarn:1659;1699;1701' /> <compiler language='vb;vbs;visualbasic;vbscript' extension='.vb' type='Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' warningLevel='4' compilerOptions='/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+' /> </compilers> </system.codedom></configuration>

日志級別分類(從高到低):OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

3、初始化log4net

在Global.asax中初始化log4net配置

log4net.Config.XmlConfigurator.Configure();

4、定義異常攔截器

自定義異常攔截器,出現控制器action方法調用出現異常時,將異常信息統一加入到全局隊列中,避免日志寫入文件并發沖突。

public class MyErrorAttribute:HandleErrorAttribute {public static Queue<Exception> ExceptionQueue = new Queue<Exception>();public override void OnException(ExceptionContext filterContext){ ExceptionQueue.Enqueue(filterContext.Exception); base.OnException(filterContext);} }

將全局默認異常處理器替換為自己定義的。

public class FilterConfig {public static void RegisterGlobalFilters(GlobalFilterCollection filters){ //filters.Add(new HandleErrorAttribute());//默認異常處理器 filters.Add(new MyErrorAttribute());//自定義異常處理器} }5、后臺線程輪詢異常隊列,將日志寫入到文件

啟動類Global.asax.cs文件中定義后臺線程,處理異常隊列中日志的輸出

//啟動后臺線程,周期性輪詢異常隊列,將異常輸出到文件 ThreadPool.QueueUserWorkItem(o => {while(true){ if(MyErrorAttribute.ExceptionQueue.Count>0) {Exception ex = MyErrorAttribute.ExceptionQueue.Dequeue();if(ex!=null){ ILog log = LogManager.GetLogger('testError'); log.Error(ex.ToString());}else{ Thread.Sleep(50);} } else {Thread.Sleep(50); }} });6、控制器中定義異常測試方法public ActionResult TestLog(){ int result = 0; int x = 1, y = 0; result = x / y; return View();}7、啟動程序測試action方法

查看項目根目錄App_Data,生成了日志文件Logs_20230520.txt

查看日志內容

到此這篇關于log4net在Asp.net MVC4中的使用的文章就介紹到這了,更多相關Asp.net MVC4使用log4net內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: ASP.NET
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲日本黄色| 欧洲人成人精品| www.av精品| 国产一区二区三区成人欧美日韩在线观看 | 国产网站一区二区| 国产精品996| 色一情一乱一乱一91av| 久久精品免费在线观看| 国产一区999| 欧美中文字幕一区二区三区| 一区二区三区四区亚洲| 欧美久久九九| 国产日产亚洲精品系列| 成人动漫在线一区| 91精品国产高清一区二区三区| 日本伊人午夜精品| 国产精品一区视频网站| 国产精品久久网站| 欧美日韩精品免费观看视一区二区| 久久综合五月天婷婷伊人| av不卡一区二区三区| 精品国产伦一区二区三区观看体验 | 国产欧美欧美| 亚洲人精品一区| 国产精品日韩久久久| 尤物视频一区二区| 国产精品区一区| 亚洲狠狠爱一区二区三区| 国产精品推荐精品| 亚洲美女免费视频| 国产精品亚洲综合久久| 午夜精品福利一区二区蜜股av| 一区二区福利| 亚洲一区二区视频在线| 国产三区精品| 一区二区三区四区乱视频| 国产精品亚洲欧美| 麻豆传媒一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲美女精品一区| 美女爽到呻吟久久久久| 奇米综合一区二区三区精品视频| 一本色道久久综合亚洲91| 亚洲va欧美va国产va天堂影院| 久久久久久国产精品mv| 久草精品在线观看| 日韩精品一区二区在线| 91美女片黄在线观看91美女| 亚洲人成人一区二区在线观看 | 97超碰欧美中文字幕| 亚洲国产精品国自产拍av| 狠久久av成人天堂| 亚洲一卡二卡三卡四卡| 在线观看不卡一区| 国产成人av自拍| 国产精品久久综合| 久久精精品视频| 国产在线播放一区三区四| 精品精品国产高清a毛片牛牛| 99精品视频一区二区| 中文字幕一区在线| 亚欧美中日韩视频| 国产成人精品午夜视频免费| 亚洲欧洲一区二区在线播放| 在线视频一区二区免费| 91丨九色丨蝌蚪富婆spa| 亚洲国产精品久久不卡毛片| 91麻豆精品国产91久久久久久久久| 99久久久国产精品免费蜜臀| 亚洲精品一二三| 91精品在线麻豆| 欧美精品二区| 日韩av网站免费在线| 久久一二三国产| 色琪琪一区二区三区亚洲区| eeuss鲁一区二区三区| 亚洲福利视频一区| 久久夜色精品国产噜噜av| 一本色道综合亚洲| 欧美性天天影院| 国产一区二区精品在线观看| 18成人在线观看| 日韩午夜三级在线| 免费一区二区三区| 欧美一区二区三区在线播放| 美女脱光内衣内裤视频久久网站 | 欧美肥胖老妇做爰| 亚洲精品日韩久久| 99精品国产一区二区三区不卡| 丝袜脚交一区二区| 国产精品视频九色porn| 欧美午夜电影一区| 亚洲高清精品中出| 风间由美一区二区三区在线观看| 亚洲三级电影网站| 精品国产乱码久久久久久老虎 | 欧美少妇xxx| 一区二区精品| 99久久99久久免费精品蜜臀| 麻豆精品国产传媒mv男同| 自拍视频在线观看一区二区| 26uuu欧美日本| 欧美人与禽zozo性伦| 日韩午夜黄色| 国产精品va| 99国产精品久久久久久久久久| 美腿丝袜亚洲综合| 一区二区三区资源| 国产精品色在线| 欧美高清性hdvideosex| 久久狠狠一本精品综合网| 国产精品v欧美精品v日韩 | 免费亚洲一区| 欧美精品导航| 国产一区二区在线看| 亚洲不卡av一区二区三区| 国产精品视频一二| 久久综合久久鬼色中文字| 日本高清无吗v一区| 国产精品永久| 亚洲一区二区精品在线| 亚洲高清免费| 国产精品v欧美精品v日韩| 91污片在线观看| 99久久婷婷国产| 成av人片一区二区| 成人黄色网址在线观看| 成人av电影在线| 欧美高清日韩| 欧美日本一区二区高清播放视频| 北条麻妃一区二区三区| 成人晚上爱看视频| 99久久久免费精品国产一区二区| 成人免费av资源| 成人激情动漫在线观看| 成人av高清在线| 99久久综合99久久综合网站| 不卡的电影网站| 欧美不卡视频| 午夜精品一区二区三区四区 | 欧美乱妇23p| 欧美日韩视频专区在线播放| 欧美视频一区二区三区在线观看 | 在线精品一区二区| 美女视频网站久久| 欧美日韩国产高清一区二区三区| 福利电影一区二区| 一区二区三国产精华液| 色爱区综合激月婷婷| 国产成人久久精品77777最新版本| 午夜精品久久久久影视| 欧美在线3区| 99久久婷婷国产综合精品| 99r国产精品| 欧美视频成人| 亚洲高清网站| 久久精品毛片| 欧美日本在线播放| 国内一区二区三区| 免费高清成人在线| 免费成人美女在线观看.| 天堂精品中文字幕在线| 亚洲福利一二三区| 亚洲大片精品永久免费| 亚洲男人的天堂在线aⅴ视频| 国产精品成人网| 中文字幕日韩一区二区| 中文字幕亚洲在| 欧美国产精品一区二区| 欧美高清在线一区二区| 中文字幕欧美国产| 国产日韩高清在线| 中文字幕av一区二区三区高| 国产精品久久影院| 亚洲人成在线观看一区二区| 18欧美乱大交hd1984| 亚洲乱码国产乱码精品精可以看 | 一区二区三区日本| 亚洲美女视频在线观看| 亚洲免费在线观看视频| 亚洲男女毛片无遮挡| 一区二区三区高清在线| 亚洲bt欧美bt精品| 免费观看久久久4p| 狠狠久久亚洲欧美| 国产精品18久久久久久久久久久久| 国产成人免费在线视频| 人妖欧美一区二区| 99re8在线精品视频免费播放| 在线亚洲美日韩| 日韩视频在线你懂得| 亚洲女厕所小便bbb| 国产精品一区二区三区网站| 欧美日本久久| 欧美日韩一区二区在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美高清dvd| 精品国产免费人成电影在线观看四季 | 91香蕉视频在线| 亚洲午夜一区|