电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:162日期: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
主站蜘蛛池模板: 高压油管,液压接头,液压附件-烟台市正诚液压附件 | 广州办公室设计,办公室装修,写字楼设计,办公室装修公司_德科 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 硅胶布|电磁炉垫片|特氟龙胶带-江苏浩天复合材料有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 成都APP开发-成都App定制-成都app开发公司-【未来久】 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 |