在日常工作中,我们有些项目可能进入了维护期,但是项目可能存在一些潜伏较深的bug导致我们在测试阶段并未发现,那么错误日志记录为我们的项目维护起着重要的作用。记录系统日志的方法如下

1.在系统根目录建立Log文件夹

2.创建异常类,且该类继承FilterAttribute, IExceptionFilter

public class LogExceptionFilterAttribute : FilterAttribute, IExceptionFilter
{
      private string ErrPath = System.Web.HttpContext.Current.Server.MapPath("/Log");
  /// <summary>
  /// 重写异常方法
  /// </summary>
  /// <param name="filterContext"></param>
  public void OnException(ExceptionContext filterContext)
  {
    if (!Directory.Exists(ErrPath))
    {
      Directory.CreateDirectory(ErrPath);
    }
    File.AppendAllText(ErrPath + "/" + DateTime.Now.Date.ToString("yyyy-MM-dd") + ".txt", filterContext.Exception.Message + "\r\n对象:" + filterContext.Exception.Source + "\r\n方法:" + filterContext.Exception.TargetSite + "\r\n字符串:" + filterContext.Exception.StackTrace + "\r\n时间:" + DateTime.Now + "\r\n" + HttpContext.Current.Request.Url.PathAndQuery + "\r\n----------------------------------\r\n\r\n\r\n\r\n");
  }
}

3.注册全局过滤器

找到App_start文件夹下的filterconfig类,并注册异常过滤器

public class FilterConfig
{
  public static void RegisterGlobalFilters(GlobalFilterCollection filters)
  {
    filters.Add(new LogExceptionFilterAttribute());
    filters.Add(new HandleErrorAttribute());
  }
}

4.此时若系统中有异常出现,在该异常信息会被记录在Log文件夹下,但是系统异常最好创建一个友好的错误提示页面

最新文章

  1. Gruntjs: grunt-contrib-jst
  2. 在双系统( Win7 + Ubuntu )环境下正常删除Ubuntu
  3. 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
  4. Google Guava学习笔记——简介
  5. 【MySQL for Mac】在Mac终端导入&amp;导出.sql文件
  6. oracle 字段上下两条记录的相减
  7. gcc编译常用选项
  8. 判断文件是否存在(exist)
  9. [翻译]利用C#获取终端服务(Terminal Services)会话的闲置时间
  10. SpringBoot应用的启动方式
  11. 前端经典面试题之CSS实现三栏布局,左右宽度固定,中间宽度自适应
  12. 我的IT之路这样走过
  13. 牛客网多校第3场Esort string (kmp)
  14. ELK集群部署实例(转)
  15. 2018.11.30 bzoj3230: 相似子串(后缀数组)
  16. Selenium 动作链
  17. bzoj 3600 没有人的算术 - 替罪羊树 - 线段树
  18. OGG_GoldenGate数据表定义方式DEFGEN(案例)
  19. 细说PHP的FPM
  20. bzoj 3267: KC采花&amp;&amp;3272&amp;&amp;3638&amp;&amp;3502 线段树

热门文章

  1. 【原】让H5页面适配移动设备全家 - 设计师篇 - PPT
  2. MPLS与LDP从入门到了解
  3. 用ajax查询天气
  4. 数据库 数据库SQL语句一
  5. oAuth 2.0 笔记
  6. [原]CentOS7部署osm2pgsql
  7. [LeetCode] Maximum Subarray 最大子数组
  8. Java集合框架List,Map,Set等全面介绍
  9. javascipt的【函数表达式】
  10. iOS-绘图