2017-04-19 4 views
2

Ich habe Code wie dieseUnterstützt Serilog JsonFormatter die Formatierung?

 var log = new LoggerConfiguration() 
      .MinimumLevel.Debug() 
      .Enrich.WithExceptionDetails() 
      .WriteTo.RollingFile(new JsonFormatter(renderMessage: true),"log-{Date}.txt")     
      .CreateLogger(); 

Ist es möglich, das Json Ergebnis als Indented zu formatieren?

Antwort

0

Nein; Das Ziel des JSON-Formatierers besteht darin, durch Zeilenbegrenzung getrennte JSON-Streams für die Verwendung durch andere Programme zu erzeugen - menschliche Lesbarkeit ist keine primäre Überlegung.

Sie können jedoch Rohr diese durch so etwas wie jq zu recht-drucken:

cat log-20170420.txt | jq '.' 

(chocolatey install jq oder sudo apt-get install jq je nach Betriebssystem.)

+0

Kann ich ersetzen serilog jsonformatter mit json.net um das zu erreichen? wenn ja wie? –

+1

Nichts ist out-of-the-box; Benutzerdefinierte Formatierer sind möglich, erfordern jedoch einige Arbeit (siehe beispielsweise https://github.com/serilog/serilog-formatting-compact). –