Global.asax的Application_Error实现错误记录/错误日志的代码
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");
}
相关文章
- 前端代码规范常见错误 二
- 【错误记录】Oboe / AAudio 播放器报错 ( onEventFromServer - AAUDIO_SERVICE_EVENT_DISCONNECTED - FIFO cleared )
- 【错误记录】在 Android Studio 的 Terminal 终端执行 gradlew 报错 ( 无法将“gradlew”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 )
- 网站设计:十条需避免的常见错误
- SQLServer 错误 7908 表错误:分区 ID PN_ID 中的文件 FILE 不是有效的 Filestream 文件。 故障 处理 修复 支持远程
- SQLServer 错误 7931 数据库错误:发现存在两个分区 FileStream 目录 ID F_ID。 故障 处理 修复 支持远程
- SQLServer 错误 12303 “construct”不支持“number”子句。 故障 处理 修复 支持远程
- MySQL错误日志与通用查询日志图文详析
- MongoDb的"not master and slaveok=false"错误及解决方法
- 错误分析Linux日志输出错误排查与分析(linux输出日志的)
- Linux 程序崩溃日志分析:从错误中求救(linux程序崩溃日志)
- 日志Linux排查错误之旅:查看错误日志(linux查看错误)
- 如何处理MySQL数据库导入错误(mysql数据库导入错误)
- MySQL 错误日志:查找位置(mysql错误日志在哪)
- MySQL错误日志:找到它的位置!(mysql错误日志在哪里)
- 解决MSSQL错误17187的步骤(mssql错误17187)
- Linux排查错误:日志分析法(linux查看报错的日志)
- MySQL数据库的1005错误解决方法(mysql中1005错误)
- 1396错误给MySQL带来的灾难(1396错误mysql)
- 分析Oracle会话错误日志解决故障症状(oracle会话错误日志)
- 解决Redis连接出错深入分析错误日志(redis 连接错误日志)
- 无法在发生错误时创建会话,请检查PHP或网站服务器日志,并正确配置PHP安装最快的解决办法
- Ubuntu下启动、停止、重启MySQL,查看错误日志命令大全
- ftp连接出现socket错误=#10054的解决方法
- nginx服务器access日志中大量400badrequest错误的解决方法