Global.asax的Application_Error实现错误记录/错误日志的代码
Global.asax的Application_Error实现错误记录/错误日志的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:利用Global.asax的Application_Error实现错误记录错误日志复制代码代码如下:voidApplication_Erro...

利用Global.asax的Application_Error实现错误记录

错误日志

复制代码 代码如下:

void Application_Error(object sender, EventArgs e)

{

// 在出现未处理的错误时运行的代码

Exception ex = Server.GetLastError().GetBaseException();

StringBuilder str = new StringBuilder();

str.Append("rn" + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss"));

str.Append("rn.客户信息:");

string ip = "";

if (Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR") != null)

{

ip = Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR").ToString().Trim();

}

else

{

ip = Request.ServerVariables.Get("Remote_Addr").ToString().Trim();

}

str.Append("rntIp:" + ip);

str.Append("rnt浏览器:" + Request.Browser.Browser.ToString());

str.Append("rnt浏览器版本:" + Request.Browser.MajorVersion.ToString());

str.Append("rnt操作系统:" + Request.Browser.Platform.ToString());

str.Append("rn.错误信息:");

str.Append("rnt页面:" + Request.Url.ToString());

str.Append("rnt错误信息:" + ex.Message);

str.Append("rnt错误源:" + ex.Source);

str.Append("rnt异常方法:" + ex.TargetSite);

str.Append("rnt堆栈信息:" + ex.StackTrace);

str.Append("rn--------------------------------------------------------------------------------------------------");

//创建路径

string upLoadPath = Server.MapPath("~/log/");

if (!System.IO.Directory.Exists(upLoadPath))

{

System.IO.Directory.CreateDirectory(upLoadPath);

}

//创建文件 写入错误

System.IO.File.AppendAllText(upLoadPath + DateTime.Now.ToString("yyyy.MM.dd") + ".log", str.ToString(), System.Text.Encoding.UTF8);

//处理完及时清理异常

Server.ClearError();

//跳转至出错页面

Response.Redirect("~/error.html");

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类