.NET 6 Serilog進階範例

目的

  • 讀取appsetting設定檔

  • 二階段初始化

  • 為了簡單化故將Log存入SQLite

建立新專案

選擇ASP.NET Core Web API專案範本,並執行下一步 步驟1

設定新的專案

命名你的專案名稱,並選擇專案要存放的位置。 步驟2

其他資訊

直接進行下一步 步驟3

NuGet加入套件

  • Serilog.AspNetCore

  • Serilog.Sinks.SQLite

步驟4

編輯Program.cs檔

範例5-1

編輯appsetting.json

設定Serilog,包含

  • 最低紀錄標準為Information

  • Microsoft.AspNetCore開頭類別紀錄標準為Warning

  • 寫Log檔到console

  • 寫Log檔到File,並請用日期分割檔案

  • 寫Log檔到SQLite,資料表名稱為Logs,限制DB最大為1M,預設還有一個參數rollOver為true,當達到限制,就會分割DB

範例6-1

編輯WeatherForecastController.cs類別檔

範例7-1

執行結果

F5執行後,依照下列步驟操作,並確認結果 範例8-1

範例8-2

執行後查看Log檔 範例8-3

範例8-4

點擊txt檔案後會看到我們所寫的Log檔案,會發現

  • 第一個紅框處非匿名類型多一個$type跟你說明是什麼類型

  • 第二個紅框處是由於在Program.cs加入了app.UseSerilogRequestLogging();會記錄使用Get請求呼叫了WeatherForecast回傳狀態碼200用了31ms的時間 範例8-5

參考

Serilog m@rcus 學習筆記

範例檔

GitHub

Last updated