首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 錯誤記錄實作

     編輯:關於ASP.NET

需求

發生未處理例外時,導向專用錯誤頁面,並將錯誤詳細資訊以日誌形式每日記錄於伺服器文字檔。

實作步驟

  1. 建立 Error 資料夾存放日誌。
  2. 確認專案有 Web.config。
  3. 新增 ErrHandler.cs 置於 App_Code。

ErrHandler 核心程式碼

public static void WriteError(string errorMessage) {
    try {
        string path = "~/Error/" + DateTime.Today.ToString("dd-MM-yy") + ".txt";
        string fullPath = System.Web.HttpContext.Current.Server.MapPath(path);
        if (!File.Exists(fullPath)) {
            File.Create(fullPath).Close();
        }
        using (StreamWriter w = File.AppendText(fullPath)) {
            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("__________________________");
        }
    } catch (Exception ex) {
        WriteError(ex.Message); // 遞迴記錄寫入失敗錯誤
    }
}

使用方式

  • 頁面層級:Page_Error 事件中呼叫 ErrHandler.WriteError(ex.Message)。
  • 應用程式層級:Global.asax 的 Application_Error 統一處理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved