asp.net mvc 全局日志方法

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 09:35   11   0

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());


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP