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

 更新时间:2013年05月03日 11:40:02   作者:  
在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常

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

首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的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 Core5.0中访问HttpContext的方法步骤

    在ASP.NET Core5.0中访问HttpContext的方法步骤

    这篇文章主要介绍了在ASP.NET Core5.0中访问HttpContext的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • .net5 使用Hangfire的过程记录

    .net5 使用Hangfire的过程记录

    最近项目遇到这样的需求,需要实现根据领取时间改变优惠券状态的功能,本文给大家分享.net5 使用Hangfire的过程记录,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • asp.net+Ajax校验用户是否存在的实现代码

    asp.net+Ajax校验用户是否存在的实现代码

    主要技术点 jquery ajax以及blur事件,当用户名输入框失去焦点的时候就会触发blur事件,然后进行ajax请求,获得结果(true或者false),如果请求结果为true,就把用户名输入框图片替换成ok,并且输出文字:恭喜您
    2012-05-05
  • .Net Core 3.1 Web API基础知识详解(收藏)

    .Net Core 3.1 Web API基础知识详解(收藏)

    这篇文章主要介绍了.Net Core 3.1 Web API基础知识,本文内容篇幅有点长,大家耐心阅读,此文结合示例代码给大家讲解的非常详细,需要的朋友可以参考下
    2022-04-04
  • 使用源链接对ASP.NET Core源代码进行调试

    使用源链接对ASP.NET Core源代码进行调试

    这篇文章介绍了使用源链接对ASP.NET Core源代码进行调试的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)

    asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)

    通过HTTP模拟GET或POST请求,提交数据到服务端获取响应,比较常见些;但如上传文件到服务端,使用html form当然简单了,而因环境所限有时需要使用模拟方法去提交有附件(文件上传)的表单。
    2010-02-02
  • ASP.NET MVC5网站开发之登录、验证和注销管理员篇1(六)

    ASP.NET MVC5网站开发之登录、验证和注销管理员篇1(六)

    这篇文章主要介绍了ASP.NET MVC5网站开发之管理员登录、验证和注销,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • asp.net中Timer无刷新定时器的实现方法

    asp.net中Timer无刷新定时器的实现方法

    这篇文章主要介绍了asp.net中Timer无刷新定时器的实现方法,是一个非常具有实用价值的技巧,需要用到Ajax技术,需要的朋友可以参考下
    2014-08-08
  • ASP.NET Core记录日志

    ASP.NET Core记录日志

    这篇文章介绍了ASP.NET Core记录日志的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • ASP.NET Core Project.json文件(5)

    ASP.NET Core Project.json文件(5)

    这篇文章主要为大家详细介绍了ASP.NET Core Project.json文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论