zoukankan      html  css  js  c++  java
  • MVC中使用过滤器记录异常日志

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace Filter.Filters
    {
        using System.Web.Mvc;
        public class ExpAttribute:HandleErrorAttribute
        {
            /// <summary>
            /// 用于截获当前action逻辑代码执行的异常,但是此异常没有被程序员通过try{} catch{}处理
            /// </summary>
            /// <param name="filterContext"></param>
            public override void OnException(ExceptionContext filterContext)
            {
                //filterContext.Exception.Message  获取描述当前异常信息
                //filterContext.Exception.InnerException  获取导致当前异常的system.Exception实例
                /*
                 日志文件:     优点:快; 确定:不容易查找和统计
                 * 数据库:能够很好地进行统计
                 * LogNet4.dll :.net中开源的日志记录模块,可以实现向文本和数据库中记录日志
                 */
    
                //模拟写日志,但是有很大弊端,不建议使用在项目中
                string phyPath = filterContext.HttpContext.Server.MapPath("/log.txt");
                //获取异常对象
                string err = filterContext.Exception.ToString();
                //具体的异常内容
                string errfmt = string.Format("{0}===============>{1}
    ", DateTime.Now.ToString(), err);
                //将指定字符串  追加到  指定路径的文件
                System.IO.File.AppendAllText(phyPath, "" + errfmt);
                //告诉MVC框架此异常已经处理,不需要将错误信息响应给用户
                filterContext.ExceptionHandled = false;
                base.OnException(filterContext);
            }
        }
    }
  • 相关阅读:
    antd Icon
    antd button
    tree 向上查找(更新删除后页面的数据)
    tree 向下查找 (删除整条tree)
    tree结构统一修改属性名(递归)
    json转换为tree对象(递归)
    python测试题
    c函数练习
    飞机一只
    python1119作业1
  • 原文地址:https://www.cnblogs.com/miaoying/p/5479291.html
Copyright © 2011-2022 走看看