MVC异常处理
使用Nlog记录异常信息
首先引用NLog的dll文件,修改配置文件,在configuration下的configSections节点下,配置Nlog关联的配置节例如 <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /> ,在configuration节点下配置nlog日志输出路径配置
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <target name="fileLog" type="File" fileName="${basedir}/Log/${shortdate}/${level}.txt" layout="【${date:format=yyyy-MM-dd HH\:mm\:ss}】【${level}】 ${message} ${exception}" /> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="fileLog" /> </rules> </nlog>
新建一个继承自HandleErrorAttribute的特性,用于处理异常,代码如下
public class CustomerExceptionAttribute:HandleErrorAttribute { /// <summary> /// 异常处理 /// </summary> /// <param name="filterContext"></param> public override void OnException(ExceptionContext filterContext) { NLog.LogManager.GetCurrentClassLogger().Error(filterContext.Exception); base.OnException(filterContext); filterContext.HttpContext.Response.Redirect(""); } }
在需要处理异常的地方添加该特性
[CustomerException] public ActionResult Index() { int a = 0; int b = 3 / a; return View(); }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。