2017-07-20 83 views
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!!!"); 

回答

0

交換機將不會被序列設置下沉,直到一些事件已經達到序列 - 電平控制不是瞬間。在實踐中,這可能意味着需要等待幾秒才能看到其他接收器輸出的變化。

+0

是的,我知道,應該澄清一點。我確實看到調試級別的事件進入了,每個API的密鑰設置都會正確地被Seq過濾掉。我期望的是,在第一個事件到達Seq或幾分鐘後,應用程序中的最小日誌級別也會更改爲調試。那不會發生。 – siabrac

+0

感謝您的跟進。它看起來像背景水平檢查沒有按預期工作 - 提出並修復https://github.com/serilog/serilog-sinks-seq/issues/75,將在3.3.3版本的接收器中很快出現。 –

+1

謝謝。我upvoted但我的聲譽仍然低到顯示:( – siabrac

相關問題