.net MVC中异常日志
在日常工作中,我们有些项目可能进入了维护期,但是项目可能存在一些潜伏较深的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文件夹下,但是系统异常最好创建一个友好的错误提示页面
最新文章
- Gruntjs: grunt-contrib-jst
- 在双系统( Win7 + Ubuntu )环境下正常删除Ubuntu
- 自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]
- Google Guava学习笔记——简介
- 【MySQL for Mac】在Mac终端导入&;导出.sql文件
- oracle 字段上下两条记录的相减
- gcc编译常用选项
- 判断文件是否存在(exist)
- [翻译]利用C#获取终端服务(Terminal Services)会话的闲置时间
- SpringBoot应用的启动方式
- 前端经典面试题之CSS实现三栏布局,左右宽度固定,中间宽度自适应
- 我的IT之路这样走过
- 牛客网多校第3场Esort string (kmp)
- ELK集群部署实例(转)
- 2018.11.30 bzoj3230: 相似子串(后缀数组)
- Selenium 动作链
- bzoj 3600 没有人的算术 - 替罪羊树 - 线段树
- OGG_GoldenGate数据表定义方式DEFGEN(案例)
- 细说PHP的FPM
- bzoj 3267: KC采花&;&;3272&;&;3638&;&;3502 线段树