2020年3月14日 星期六

NLog 基本使用

之前有紀錄 elmah 的使用方法,倒是NLog 一直沒有下筆,寫個筆記吧。

官網其實有豐富相關資源,還是個開源專案,可以下載源碼來閱讀 ,其中在Getting started





有相關使用說明,有 .net framework 也有 .net core














使用 nuget 下載相關套件,下載 NLog、NLog.Config (會順便連Schema 一起下載)















安裝好後,來看一下 NLog.config 檔案的內容。其中 targets 與 rules 是對應的關係,代表若干規則,發生時要對應到哪個 target 項目



















仔細觀察targets 與rules 裡面都有先註解起來的範例設定。
先試試設定 target ,如下設定了兩個log 檔案,一個期望是debug 使用的,一個是例外錯誤時使用。需要注意,fileName 需要包含檔案路徑,這邊設定相對路徑下有個 logs資料夾/短日期資料夾/debug.log,參考,另外 type 有相關類型可以設定,e.g. File、Mail、Console、Database,同樣可以參考






以上是設定觸發時要對應到哪個處理方式,「name 」為單一項目識別名稱,「layout」為訊息格式,詳情可參考


再來我們設定 Rule,需要注意 writeTo 需要對應到 target 項目的 「name」,其中 level可以參考,若同時要設定多個注意關鍵字 levels





接著撰寫程式讓一切發生,完整練習同樣可參考

其中fatal 訊息會寫到 fatal.log 檔案,其他訊息會寫到 Debug.log 檔案

























其他如發生內部錯誤該怎麼辦,比方說寫檔案時沒有權限,若是在開發階段可以打開 throwException = true,跑程式時就會直接報錯























若是正式機可能就必須寫到對應的log 檔案位置

沒有留言:

張貼留言