ASP.NET记录错误日志的实现方法_asp.net教程-查字典教程网
ASP.NET记录错误日志的实现方法
ASP.NET记录错误日志的实现方法
发布时间:2016-12-29 来源:查字典编辑
摘要:在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常。我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误...

在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常。我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误将被记录到服务器上的一个文本文件,每当错误发生时,我们将以日志的形式每天记录。

首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的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("rnLog 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教程学习
    热门asp.net教程学习
    编程开发子分类