1
剛剛開始與Serilog一起工作,它相當不錯,但我有點困惑。使用Serilog記錄WebAPI 2中的重要信息
如果我的控制器的操作出現錯誤,我想盡可能多地從請求(頭文件,參數等)中記錄儘可能多的有用的信息。
什麼是最好的方式去呢?
剛剛開始與Serilog一起工作,它相當不錯,但我有點困惑。使用Serilog記錄WebAPI 2中的重要信息
如果我的控制器的操作出現錯誤,我想盡可能多地從請求(頭文件,參數等)中記錄儘可能多的有用的信息。
什麼是最好的方式去呢?
你可以看看使用Enrichment功能
按照從鏈接的文檔,你會構建類似的記錄器
var log = new LoggerConfiguration()
.Enrich.WithThreadId()
.WriteTo.Console()
.CreateLogger();
「通過日誌寫的所有事件將攜帶一個屬性線程ID與(按照慣例,Enrich上的任何.WithXyz()方法都會創建名爲Xyz的屬性。)「
Github上的一個示例是SerilogWeb.Classic。它提供了一些用於從請求中捕獲某些信息的集合,例如
var log = new LoggerConfiguration()
.WriteTo.ColoredConsole()
.Enrich.With<HttpRequestIdEnricher>()
.Enrich.With<UserNameEnricher>()
.CreateLogger();
你可以按照類似的apporach,創建,捕捉你總是想要的信息輸出在日誌中的富集,然後使用濃縮塔初始化你的記錄。
'SerilogWeb.Classic.WebApi'還添加了一些WebAPI信息,我想:https://github.com/serilog-web/classic-webapi –