当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET记录错误日志的实现方法

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

宫浩文,吴京下战书甄子丹,疯魔网

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

首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的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文件,用于使用者出现错误时呈现的错误页面。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网