zoukankan      html  css  js  c++  java
  • 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文件,用于使用者出现错误时呈现的错误页面。

    完!

  • 相关阅读:
    如何查看linux端口被哪个进程占用
    Beego 结合 GORM 操作 Mysql 数据库
    Linux Go proxy 设置
    working directory is not part of a module
    依赖注入 gin项目的目录结构说明
    详解django中使用定时任务的方法
    input 原声上传文件 file转化为binary对象发送给后台
    vue篇之事件总线(EventBus)
    小程序路由遇到的问题(eventChannel.emit is not a function报错)
    小程序组件(弹窗组件以及插槽使用)
  • 原文地址:https://www.cnblogs.com/52net/p/2844034.html
Copyright © 2011-2022 走看看