使用自訂 Attribute 控制 API Log Middleware 是否運作
2021-09-29
[.Net Core] 使用自訂 Attribute 控制 API Log Middleware 是否運作
- 3065
- 0
- ASP.NET Core
使用自訂 Attribute 控制 API Log Middleware 是否運作
在透過 NLog 記錄 Exception 錯誤至 DB 時,當有其他「額外」資訊需要一併紀錄到「獨立」欄位時,可以利用自訂 Event Context Layout 來自行決定需輸出的欄位資訊,讓錯誤訊息清楚地呈現在每一筆 Log 資料的特定欄位中,對於錯誤釐清與各項資訊交叉比對都較為方便。
面對大量且重要性低的 LOG 紀錄需求(如:統計功能使用量),可以考慮套用非同步射後不理機制來節省 Web API 被占用的時間,把資源留給其他更重要的項目;文末並針對 SynchronizationContext 議題進行探討,由於在這種情境下會有 context 消失問題存在,因此需設定 ConfigureAwait(false) 來讓後續作業順利進行。