Log & 例外處理

Log & 例外的處理方式

Log 即是系統紀錄,在很多時候我們需要利用這些記錄來追蹤系統;例外處理則是指系統發生錯誤時的處理方式。 一個軟體系統的程式可以分成兩種:第1種是與商業規則無關、可以模組化的核心程式;第2種則是與商業規則有關的程式。針對第1種程式我們的例外處理原則是寫入 log、然後傳回空集合;而第2種程式的處理方式則是在前端顯示錯誤訊息。在這裡我們會記錄3種不同內容的 log:第1種是系統錯誤,它會在 系統發生錯誤時無條件被記錄;第2種是一般資訊,通常用來追蹤某個問題,你可以利用系統組態設定來決定是否紀錄這一類的 log;第3種是 CRUD 的 sql 內容,在新的 CRUD 功能上線時,你需要透過檢查它的 sql 內容來確保系統的正確性。下圖是人事管理系統的 log 檔案,它記錄在 HrAdm/_log 這個目錄:

我們在 Base/Services/_Log.cs 這個靜態服務類別中,提供了幾個函數來寫入 log 資料,分別是:
• Error(): 記錄錯誤 log
• Sql(): 記錄 sql
• Info(): 記錄一般 log