# 📝 Logging vs Tracing 對照表 | 項目 | Logging | Tracing | |--------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------| | **用途** | 記錄系統發生的事件(Info、Warning、Error),用於長期存檔、問題追蹤、營運分析 | 追蹤程式執行過程(API → Biz → DB),用於效能分析、除錯、即時監控 | | **時間策略** | UTC 時間 → 確保跨伺服器、跨國、集中化 Log Server 排序一致 | 本地時間 → 方便開發人員即時對照系統時間,強調「相對耗時」 | | **資料粒度** | 事件為主(單點):「使用者登入失敗」、「SQL Exception」 | 區段為主(Start/End)+單點事件(Write):「此 API 花了 320ms」 | | **典型輸出** | 檔案(log.txt)、集中式平台(ELK、Seq、AppInsights)、警示系統 | 開發工具 UI(WinForms DataGridView)、即時看板(SignalR)、Profiling 工具 | | **保存週期** | 長期保存,可查歷史紀錄、統計報表 | 即時或短期保存,多用於開發/測試環境,必要時可匯出分析 | | **受眾** | 系統維運人員、支援工程師、審計/法遵 | 開發人員、效能分析工程師 | | **重點關注** | 發生了什麼事?(錯誤、異常、系統狀態) | 怎麼發生的?(路徑、流程、耗時分佈) | --- ## ✅ 總結 - **Logging**:強調「事件紀錄」 → 發生了什麼事。 - **Tracing**:強調「執行過程」 → 怎麼發生的、花了多少時間。