服务器之家

服务器之家 > 正文

Global.asax的Application_Error实现错误记录/错误日志的代码

时间:2019-11-16 12:07     来源/作者:asp.net教程网

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

错误日志 

复制代码代码如下:


void Application_Error(object sender, EventArgs e) 

// 在出现未处理的错误时运行的代码 
Exception ex = Server.GetLastError().GetBaseException(); 
StringBuilder str = new StringBuilder(); 
str.Append("\r\n" + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss")); 
str.Append("\r\n.客户信息:"); 


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("\r\n\tIp:" + ip); 
str.Append("\r\n\t浏览器:" + Request.Browser.Browser.ToString()); 
str.Append("\r\n\t浏览器版本:" + Request.Browser.MajorVersion.ToString()); 
str.Append("\r\n\t操作系统:" + Request.Browser.Platform.ToString()); 
str.Append("\r\n.错误信息:"); 
str.Append("\r\n\t页面:" + Request.Url.ToString()); 
str.Append("\r\n\t错误信息:" + ex.Message); 
str.Append("\r\n\t错误源:" + ex.Source); 
str.Append("\r\n\t异常方法:" + ex.TargetSite); 
str.Append("\r\n\t堆栈信息:" + ex.StackTrace); 
str.Append("\r\n--------------------------------------------------------------------------------------------------"); 
//创建路径 
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"); 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部