【翻译】使用ASP.NET 2.0记录错误

原文:http://www.dotNETcurry.com/ShowArticle.ASPx?ID=94&ASPxAutoDetectCookieSupport=1

使用ASP.NET 2.0记录错误

  在我们开发和操作一个网站的过程中不可避免会发生错误和失败的情况. ASP.NET 2.0 提供了跟踪,instrumentation以及错误处理机制来检测和修补程序中的问题.

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

  步骤一:首先创建一个错误文件夹用于存放错误日志文件.鼠标右键站点 > 创建新文件夹.将该文件夹命名为"Error". 如果站点中没有 Web.config 文件时,请添加一个. 右键站点 > 添加新项目 > Web.config.

  步骤二:现在我们要创建一个错误处理的代码.我们只需要右键站点 > 添加新项目 > 选择类. 重命名该类为"ErrHandler.cs" ,然后单击 "添加" 按钮.当你这么操作的时候,会弹出一个对话框,是否要将这个类文件保存在"App_Code"里面,我们选择接受.

  步骤三:现在我们为ErrHandler.class添加一些功能.该类用于接受错误信息并将错误信息保存在一个文本文件中.每天创建一个这样的文本文件.如果已经存在相同的文件名时,错误信息将会追加到这个文件中.否则,就创建一个新文件,并将错误信息写入该文件.

  代码看来如下:

    /// Handles error by accepting the error message 
    
/// Displays the page on which the error occured
    public static void WriteError(string errorMessage)
    {
        
try
        {
            
string path = "~/Error/" + DateTime.Today.ToString("dd-mm-yy"+ ".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.Curre
nt.Server.MapPath(path)))
            {
                w.WriteLine(
"/r/nLog Entry : ");
                w.WriteLine(
"{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture
));
                
string err = "Error in: " + System.Web.HttpContext.Current.Request.Url.
ToString() 
+
                              
". Error Message:" + errorMessage;
                w.WriteLine(err);
                w.WriteLine(
"__________________________");
                w.Flush();
                w.Close();
            }
        }
        
catch (Exception ex)
        {
            WriteError(ex.Message);
        }
    }

NET技术【翻译】使用ASP.NET 2.0记录错误,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。