1
我想生成一個只包含來自特定EventId(或EventIds)的日誌輸出的日誌文件。是否支持這種功能?使用Microsoft.Extensions.Logging可以篩選單個EventID嗎?
我想生成一個只包含來自特定EventId(或EventIds)的日誌輸出的日誌文件。是否支持這種功能?使用Microsoft.Extensions.Logging可以篩選單個EventID嗎?
如果您插入Serilog作爲提供商,您可以繼續通過Microsoft.Extensions.Logging進行日誌記錄,但應用Serilog的過濾來限制發送到日誌文件的內容。
要做到這一點,你要使用以下的Serilog配置:
Log.Logger = new LoggerConfiguration()
.Filter.ByIncludingOnly("EventId.Id = 9")
.WriteTo.RollingFile("logs/log-{Date}.txt")
.CreateLogger();
(其中9
是任何你想要的事件ID包括。)
您可以Serilog插頭https://github.com/serilog/serilog-aspnetcore,並編譯這個例子你還需要安裝Serilog.Sinks.RollingFile和Serilog.Filters.Expressions包。