ASP.NETレコードエラーログの実装方法

2966 ワード

ASP.NETレコードエラーログの実装方法


本稿では,我々のウェブサイトにおける誤りと異常を簡単な処理で記録する.
本稿では,我々のウェブサイトにおける誤りと異常を簡単な処理で記録する.このように、プログラムエラーが発生するたびに、ユーザーを別のページにナビゲートし、エラーがサーバ上のテキストファイルに記録され、エラーが発生するたびにログ形式で毎日記録されます.
まず、サーバ上のErrorフォルダにエラー情報を記録するための静的な方法を書きます.ここでは、エラー情報をサーバ上のErrorフォルダの下にコードします.
 
    
using System.Globalization;

    ///


    /// txt
    ///

    ///
    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
Log Entry : ");
                w.WriteLine("{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture));
                w.WriteLine(errorMessage);
                w.WriteLine("________________________________________________________");
                w.Flush();
                w.Close();
            }
        }
        catch (Exception ex)
        {
            WriteError(ex.Message);
        }
    }


サイトで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ファイル
 
    

   
    
   

   


GenericErrorPageを作成します.htmファイルは、ユーザがエラーが発生したときに表示されるエラーページに使用されます.
転載:http://www.jb51.net/article/36345.htm