ASP.NET记录错误日志的实现方法
在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常。我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误将被记录到服务器上的一个文本文件,每当错误发生时,我们将以日志的形式每天记录。
首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的Error文件夹下
代码如下:
using System.Globalization;
/// <summary>
/// 用于将错误信息输出到txt文件
/// </summary>
/// <param name="errorMessage">错误详细信息</param>
public static void WriteError(string errorMessage)
{
try
{
string path = "~/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 (StreamWriter w = File.AppendText(System.Web.HttpContext.Current.Server.MapPath(path)))
{
w.WriteLine("\r\nLog Entry : ");
w.WriteLine("{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture));
w.WriteLine(errorMessage);
w.WriteLine("________________________________________________________");
w.Flush();
w.Close();
}
}
catch (Exception ex)
{
WriteError(ex.Message);
}
}
在网站Global.asax文件的Application_Error中加入如下代码
复制代码 代码如下:
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception objErr = Server.GetLastError().GetBaseException();
//记录出现错误的IP地址
string strIP = Request.UserHostAddress;
string err = "Ip【" + strIP + "】" + Environment.NewLine + "Error in【" + Request.Url.ToString() +
"】" + Environment.NewLine + "Error Message【" + objErr.Message.ToString() + "】";
//记录错误
FN.WriteError(err);
}
配置Web.Config文件
复制代码 代码如下:
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<!--可以指定其他错误页面...-->
</customErrors>
</system.web>
建立一个GenericErrorPage.htm文件,用于使用者出现错误时呈现的错误页面。
您可能感兴趣的文章:
- ASP.NET MVC自定义错误页面真的简单吗?
- 运行asp.net时出现 http错误404-文件或目录未找到
- asp.net网站的404错误页面的正确设置方法
- IIS部署asp.net报404错误的解决方法
- Asp.Net 程序错误Runtime Error原因与解决
- asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解
- asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET
- ASP.NET在IIS上注册报0x800702e4错误解决方法
- asp.net 利用IIS的404错误将文件重写成目录的简单方法
- 在ASP.NET Core中显示自定义的错误页面
- ASP.NET记录错误日志的实现方法
- ASP.NET记录错误日志的实现方法
- Asp.Net : 捕捉和记录网站中出现的所有未处理错误,抛出详细的页面来源和访问ip,调用的接口方法及异常实例(记事本日志,系统日志及数据库日志)
- asp.net记录错误日志的方法
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
- 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
- 在ASP.NET中记录错误日志(使用Global.asax)
- ElMAH(ASP.NET错误日志记录与通知)系列文章-基础应用篇
- Asp.Net 2.0 中错误处理的几种方法(发邮件及记录信息到系统事件中)
- 在ASP.NET中记录错误日志(使用Global.asax)
- asp.net mvc中加入log4net记录错误日志
- ASP.NET记录错误日志的方式
- 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
- asp.net 错误信息记录到日志文件
- asp.net Web项目中使用Log4Net进行错误日志记录
- Log4net 框架系列:log4net日志文件在asp.net中的应用实例-记录系统错误
- asp.net Web项目中使用Log4Net进行错误日志记录
- ELMAH(ASP.NET错误日志记录与通知)系列文章-概念篇
- ASP.NET MVC中错误日志信息记录
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例