asp.net mvc 全局日志方法
2017-12-26 09:24
411 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Web_Common;
namespace RongRental.Filters
{
public class Application_Error_Log : IExceptionFilter //此处和api的不同
{
#region IExceptionFilter 成员
private static readonly object obj = new object();
public void OnException(ExceptionContext filterContext)
{
lock (obj)
{
var httpContext = filterContext.RequestContext.HttpContext.Request;
// 在出现未处理的错误时运行的代码
if (!httpContext.Url.ToString().Contains("."))
{
string logText = "\r\n------------- 异常信息 ---------------------------------------------------------------";
logText += "\r\n发生时间:" + DateTime.Now.ToString();
logText += "\r\n发生异常页:" + httpContext.Url.ToString();
logText += "\r\n异常信息:" + filterContext.Exception.Message;
logText += "\r\n错误源:" + filterContext.Exception.Source;
logText += "\r\n堆栈信息:" + filterContext.Exception.StackTrace;
logText += "\r\n-----------------------------------------------------------------------------------------\r\n";
//日志物理路径
string path = httpContext.MapPath("~/Log/");
RongRental_Web_Log.WriteLog(logText, path);
filterContext.RequestContext.HttpContext.Server.ClearError();
//filterContext.RequestContext.HttpContext.Response.Redirect("/Home/Error");
}
}
}
#endregion
}
}
GlobalFilters.Filters.Add(new Application_Error_Log());
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Web_Common;
namespace RongRental.Filters
{
public class Application_Error_Log : IExceptionFilter //此处和api的不同
{
#region IExceptionFilter 成员
private static readonly object obj = new object();
public void OnException(ExceptionContext filterContext)
{
lock (obj)
{
var httpContext = filterContext.RequestContext.HttpContext.Request;
// 在出现未处理的错误时运行的代码
if (!httpContext.Url.ToString().Contains("."))
{
string logText = "\r\n------------- 异常信息 ---------------------------------------------------------------";
logText += "\r\n发生时间:" + DateTime.Now.ToString();
logText += "\r\n发生异常页:" + httpContext.Url.ToString();
logText += "\r\n异常信息:" + filterContext.Exception.Message;
logText += "\r\n错误源:" + filterContext.Exception.Source;
logText += "\r\n堆栈信息:" + filterContext.Exception.StackTrace;
logText += "\r\n-----------------------------------------------------------------------------------------\r\n";
//日志物理路径
string path = httpContext.MapPath("~/Log/");
RongRental_Web_Log.WriteLog(logText, path);
filterContext.RequestContext.HttpContext.Server.ClearError();
//filterContext.RequestContext.HttpContext.Response.Redirect("/Home/Error");
}
}
}
#endregion
}
}
GlobalFilters.Filters.Add(new Application_Error_Log());
相关文章推荐
- asp.net mvc 全局权限过滤器及继成权限方法
- asp.net mvc 全局权限过滤器及继成权限方法
- ASP.NET MVC 全局异常处理与异常日志
- WinForm、ASP.NET、MVC记录全局错误日志
- Asp.net MVC中的全局权限验证方法及实现
- ASP.Net全局变量的设置和读取方法
- asp.net mvc实现微信外H5支付方法
- asp.net mvc SelectList 的selected 失效及解决方法
- Asp.Net MVC向视图View传值的三种方法
- ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法
- asp.net MVC + linq to Entity简单教程(四)linq to Entity查询中其它方法的使用
- 【MVC】ASP.NET MVC中实现多个按钮提交的几种方法
- Asp.net MVC 4 异步方法
- asp.net mvc中加入log4net记录错误日志
- asp.net mvc 控制器&动作方法 角色 权限验证
- ASP.NET MVC 中将FormCollection与实体间转换方法
- 中文VS2008中安装ASP.NET MVC框架出现问题的解决方法
- ASP.NET MVC 实现多模版的方法
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- ASP.net MVC 文件下载的几种方法