ASP.NET记录错误日志的实现方法
在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常。我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误将被记录到服务器上的一个文本文件,每当错误发生时,我们将以日志的形式每天记录。
首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的Error文件夹下
代码如下:
usingSystem.Globalization;
///<summary>
///用于将错误信息输出到txt文件
///</summary>
///<paramname="errorMessage">错误详细信息</param>
publicstaticvoidWriteError(stringerrorMessage)
{
try
{
stringpath="~/Error/"+DateTime.Today.ToString("yyMMdd")+".txt";
if(!File.Exists(System.Web.HttpContext.Current.Server.MapPath(path)))
{
File.Create(System.Web.HttpContext.Current.Server.MapPath(path)).Close();
}
using(StreamWriterw=File.AppendText(System.Web.HttpContext.Current.Server.MapPath(path)))
{
w.WriteLine("\r\nLogEntry:");
w.WriteLine("{0}",DateTime.Now.ToString(CultureInfo.InvariantCulture));
w.WriteLine(errorMessage);
w.WriteLine("________________________________________________________");
w.Flush();
w.Close();
}
}
catch(Exceptionex)
{
WriteError(ex.Message);
}
}
在网站Global.asax文件的Application_Error中加入如下代码
voidApplication_Error(objectsender,EventArgse)
{
//在出现未处理的错误时运行的代码
ExceptionobjErr=Server.GetLastError().GetBaseException();
//记录出现错误的IP地址
stringstrIP=Request.UserHostAddress;
stringerr="Ip【"+strIP+"】"+Environment.NewLine+"Errorin【"+Request.Url.ToString()+
"】"+Environment.NewLine+"ErrorMessage【"+objErr.Message.ToString()+"】";
//记录错误
FN.WriteError(err);
}
配置Web.Config文件
<system.web>
<customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm">
<!--可以指定其他错误页面...-->
</customErrors>
</system.web>
建立一个GenericErrorPage.htm文件,用于使用者出现错误时呈现的错误页面。
相关文章
- ajax怎么解决报414,关于c#:HTTP错误414。请求URL太长。 asp.net
- ASP.NET访问Excel 失败的解决方法(错误号:80070005,8000401a)
- [.NET控件]Telerik RadControls for ASP.NET AJAX 2008 Q1 net 2.0 Web.UI「建议收藏」
- ASP.NET Core 6框架揭秘实例演示[32]:错误页面的N种呈现方式
- 服务器显示asp错误,Windows7 IIS+ASP http500内部服务器错误(显示它的本来面目)
- .net 温故知新:【9】.NET日志记录 ILogger使用和原理
- 宝塔面板Linux系统通过Docker部署VB.NET Asp.Net Core WebAPI应用
- 【愚公系列】2023年01月 .NET CORE工具案例-RedLock.net实现分布式锁
- 【错误记录】Visual Studio 2019 中运行 Unity C# 脚本时报错 ( 根据解决方案, 可能需要安装额外的组件才能获得 | .NET 桌面开发 | 使用 Unity 的游戏开发 )
- 【错误记录】Android WebView 报错 ( 网页无法打开 位于 baiduboxapp://speec... 的网页无法加载, 因为 net::ERR_UNKNOW_URL_SCHEME )
- .net安装 Linux 上的 ASP.NET 环境(linux安装asp)
- MySQL与VB.NET的数据库开发实践(mysqlvb.net)
- Oracle NET突破技术界限,精彩开启新纪元(oracle net??)
- 应用使用Linux环境部署.Net应用程序(linux部署.net)
- Net访问Oracle数据库的简易方法(.net访问oracle)
- NET操作MySQL数据库快速入门(.net读写mysql)
- Net结合MySQL实现强劲的数据库运算(.net 用mysql)
- NET环境下MySQL数据库的使用实践(.net支持mysql吗)
- 网上解决Net环境下MySQL数据库的同步问题(.net 同步mysql)
- REDIS锁技术提升NET应用性能(redis 锁 .net)
- 使用Oracle64位Net突破技术极限(oracle64位net)
- 虚机服务中常见Asp.Net低级错误一览
- ASP.net基础知识之常见错误分析
- asp.net时间类一周的周一和周末的日期
- ASP.NET运行时错误:没有为扩展名“.asax”注册的生成提供程序修正版
- asp.net从客户端中检测到有潜在危险的Request.Form值错误解
- asp.net在global中拦截404错误的实现方法
- asp.net下用Aspose.Wordsfor.NET动态生成word文档中的数据表格的方法
- asp.net网站的404错误页面的正确设置方法
- asp.net运行提示未将对象引用设置到对象的实例错误解决方法
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- IIS和.NET(1.1/2.0)的安装顺序及错误解决方法
- IIS部署asp.net报404错误的解决方法