2017-07-20 1 views
1

zu arbeiten habe ich meine Bewerbung mit Serilog Holzeinschlag und die Seq versenken (zusätzlich zu einem ColoredConsole und ein RollingFile Waschbecken) eingerichtet. Alles funktioniert gut, aber die minimale Log-Ebene wechselt von Seq.Wie kann ich „controlLevelSwitch“ in der Serilog Seq versenken

Mein Logging Niveauschalter wird mit einem Start-Mindestmaß an „Verbose“ um sicherzustellen, dass alles eingerichtet ist Seq gesendet.

In den Einstellungen für den API-Schlüssel der Mindest-Ebene auf „Debug“ und seq gesetzt zeigt nur Ereignisse mit Niveau „Debug“ und höher als erwartet.

Aber auf der Anwendungsseite wird alles noch, keine Änderung in min Protokollebene protokolliert. Ich kann "Verbose" auf der Konsole, die Rolling-Log-Datei der Seq-Senke und die separate Rolling-Log-Datei sehen, die ich eingerichtet habe. Das ändert sich nicht, wenn ich Ereignisse vom Typ "Debug" lege, die von seq aufgenommen werden oder einige Minuten warten.

Das ist meine config:

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!!!"); 

Antwort

0

Der Schalter wird nicht durch die Seq eingestellt werden sinken, bis einige Veranstaltungen bereits Seq erreicht - die Niveauregelung ist nicht unmittelbar. In der Praxis bedeutet dies, dass einige Sekunden verstreichen müssen, bis sich die Ausgabe der anderen Senken ändert.

+0

Ja, ich weiß, haben sollte, dass geklärt. Ich sehe Ereignisse auf der Debug-Ebene kommen, alles niedrigere wird von Seq korrekt nach der Einstellung für diesen API-Schlüssel ausgefiltert. Was ich erwartet habe, war die minimale Loglevel innerhalb der App auch ändern, um entweder nach dem Auftreten der ersten Ereignisse bei Seq oder nach ein paar Minuten zu debuggen. Das passiert nicht. – siabrac

+0

Danke für das Follow-up. Es sieht so aus, als ob die Überprüfung der Hintergrundebene nicht wie vorgesehen funktioniert - ausgelöst und behoben https://github.com/serilog/serilog-sinks-seq/issues/75, wird in Kürze in Version 3.3.3 der Senke veröffentlicht. –

+1

Danke. Ich upvotiert, aber mein Ruf ist immer noch zu niedrig zu zeigen :( – siabrac

Verwandte Themen