zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

错误日志代码 实现 Error 记录 application global
2023-06-13 09:15:04 时间
利用Global.asax的Application_Error实现错误记录

错误日志
复制代码代码如下:

voidApplication_Error(objectsender,EventArgse)
{
//在出现未处理的错误时运行的代码
Exceptionex=Server.GetLastError().GetBaseException();
StringBuilderstr=newStringBuilder();
str.Append("\r\n"+DateTime.Now.ToString("yyyy.MM.ddHH:mm:ss"));
str.Append("\r\n.客户信息:");


stringip="";
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--------------------------------------------------------------------------------------------------");
//创建路径
stringupLoadPath=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");
}