1
我有我的應用程序設置了Serilog日誌記錄和Seq接收器(除了一個ColoredConsole和一個RollingFile接收器)。一切都很好,但從Seq的最低日誌級別切換。我怎樣才能讓「controlLevelSwitch」在Serilog Seq接收器中工作
我的日誌記錄級別開關設置的開始最低級別爲「詳細」,以確保任何內容都發送到seq。
在API密鑰的設置中,最低級別設置爲「調試」,seq只顯示級別「調試」級別高於預期的事件。
但是在應用程序方面,所有內容仍然被記錄,最小日誌級別沒有變化。我可以在控制檯上看到「詳細」,seq接收器的滾動日誌文件和我設置的獨立滾動日誌文件。這不會改變我是否發送seq拾取的「調試」級事件或等待幾分鐘。
這是我的配置:
var levelSwitch = new LoggingLevelSwitch(LogEventLevel.Verbose);
Log.Logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(levelSwitch)
.Enrich.WithExceptionDetails()
.WriteTo.ColoredConsole()
.WriteTo.RollingFile(@".\log\log-{Date}.txt")
.WriteTo.Seq("http://localhost:5341", bufferBaseFilename: @".\temp\seqlog", apiKey: "...", controlLevelSwitch: levelSwitch)
.CreateLogger();
Log.Logger.Verbose("TEST!!!");
是的,我知道,應該澄清一點。我確實看到調試級別的事件進入了,每個API的密鑰設置都會正確地被Seq過濾掉。我期望的是,在第一個事件到達Seq或幾分鐘後,應用程序中的最小日誌級別也會更改爲調試。那不會發生。 – siabrac
感謝您的跟進。它看起來像背景水平檢查沒有按預期工作 - 提出並修復https://github.com/serilog/serilog-sinks-seq/issues/75,將在3.3.3版本的接收器中很快出現。 –
謝謝。我upvoted但我的聲譽仍然低到顯示:( – siabrac