预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MVC如何使用Log4Net进行错误日志记录MVC如何使用Log4Net进行错误日志记录在Web应用运行过程中,我们难免会遇到程序运行异常,这个时候我们就应该将异常信息记录下来,以便开发人员和维护人员对异常原因进行还原,对异常原因进行修复。在ASP.NET平台中进行日志记录的组件也有很多,如Log4Net、CommonLogging等,我们这里选用Log4Net进行异常日志的记录。1.捕获异常在ASP.NETMVC中提供了一个全局的异常处理过滤器:HandleErrorAttribute,可以通过该过滤器捕获异常信息。我们在Models文件夹下新建类型Log4ExceptionAttribute,继承HandleErrorAttribute类,同时重写OnException方法来捕获异常数据:usingSystem.Web.Mvc;namespacePMS.WebApp.Models{publicclassLog4ExceptionAttribute:HandleErrorAttribute{//////重写OnException方法来捕获异常数据//////publicoverridevoidOnException(ExceptionContextfilterContext){base.OnException(filterContext);//捕获当前异常数据varex=filterContext.Exception;}}}新建过滤器后我们还需要在Global文件中调用的RegisterGlobalFilters方法中完成自己定义异常处理过滤的注册。usingSystem.Web.Mvc;usingPMS.WebApp.Models;namespacePMS.WebApp{publicclassFilterConfig{publicstaticvoidRegisterGlobalFilters(GlobalFilterCollectionfilters){//filters.Add(newHandleErrorAttribute());filters.Add(newLog4ExceptionAttribute());}}}2.考虑到多用户并发操作时可能产生的问题,我们需要新建一个队列来进行异常信息的暂存,同时开辟一个线程专门对队列中的异常信息进行处理。在Log4ExceptionAttribute类中新建一个静态的异常类型的队列,在发生异常后,程序自动触发OnException方法,方法中将当前的.异常信息入队后,跳转到错误页面。usingSystem;usingSystem.Collections.Generic;usingSystem.Web.Mvc;namespacePMS.WebApp.Models{publicclassLog4ExceptionAttribute:HandleErrorAttribute{publicstaticQueueExceptions=newQueue();//////重写OnException方法来捕获异常数据//////publicoverridevoidOnException(ExceptionContextfilterContext){base.OnException(filterContext);//捕获当前异常数据varex=filterContext.Exception;//将异常数据入队Exceptions.Enqueue(ex);//跳转到错误页面filterContext.HttpContext.Response.Redirect("/Error.html");}}}Log4Net的配置是在应用程序配置文件中进行的,我们先在配置文件中进行Log4Net的配置。Log4Net需要配置的节点位置和SpringNet完全相同,首先需要在configSessions中新增子节点,然后在configuration节点中增加log4net节点完成具体配置。...在配置文件中可以对日志记录的信息、格式、文件名等作出具体的配置,下面是配置信息的详解<"1.0"?>在Global文件中的Application_Start方法中开启一个线程,用于将队列中的错误信息写入日志文件。usingSystem.Linq;usingSystem.Threading;usingSystem.Web.Http;usingSystem.Web.Mvc;usingSystem.Web.Optimization;usingSystem.Web.Routing;usinglog4net;usingPMS.WebApp.Models;usingSpring.Web