您的位置:首页 > 编程语言 > ASP

ASP.NET记录错误日志的实现方法

2016-01-22 15:17 696 查看


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文件,用于使用者出现错误时呈现的错误页面。

转载:http://www.jb51.net/article/36345.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: