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

Effective C# 原則 36:善用 .NET 執行階段診斷 (下)

     編輯:關於C語言

設定追蹤接聽項

TextWriterTraceListener 將診斷資訊寫入 MyListener.log。initializeData 指定檔案名稱。極少數情況需自訂接聽類別。

組件層級診斷封裝

為每個組件建立診斷類別,集中管理追蹤開關與輸出方法:

internal class MyAssemblyDiagnostics
{
    static private TraceSwitch myAssemblySwitch = new TraceSwitch("MyAssembly", "The switch for this assembly");
    internal static void Msg(TraceLevel l, object o) { ... }
    internal static void Msg(TraceLevel l, string s) { ... }
}

呼叫端只需 MyAssemblyDiagnostics.Msg(TraceLevel.Info, "Entering Method1.");。

全域與組件層級開關結合

internal static void Msg(TraceLevel l, object o)
{
    Trace.WriteLineIf(librarySwitch.Level >= l || globalSwitch.Level >= l, o, "MyLibrary");
}

應用層級設為 Error 可快速發現錯誤;特定組件提升至 Verbose 可精準定位問題。

結語

實際部署環境中,診斷庫不可或缺。.NET FCL 已提供核心功能,應盡量使用並按需擴充,確保正式環境也能捕獲問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved