Beim Schreiben von Klartext in eine RollingFile-Senke wurde zufällig eine JSON-Zeile ausgegeben. Es scheint schließende Klammertripeln in die doppelten geschweiften Klammern umzuwandeln. Der folgende Code soll dies veranschaulichen. testLogger ist ein einfacher Wrapper, mit dem ich ihn optional anstelle der Datei an das Debug-Fenster senden kann. Die Ergebnisse stammen aus der Datei.
var json1 = @"{ ""test"": ""test""}";
testLogger.Log (json1);
var json2 = @"{ ""test"": ""test"", { ""nest1"": ""one"" }}";
testLogger.Log (json2);
var json3 = @"{ ""test"": ""test"", { ""nest1"": ""one"", { ""nest2"": ""two""}}}";
testLogger.Log (json3);
17.10.2016 08:34:48.111 -04:00 [Warnung] { "test": "test"}
17.10.2016 08:34:48.111 -04:00 [Warnung] { "test": "test", { "nest1": "one" }}
2016-10-17 08:34:48.111 -04:00 [Warnung] { "test": "test", { "nest1": "one", { "nest2": "two"}}
Hallo, danke für den Bericht!
Dies liegt daran, dass das Argument für die Protokollierung eine Nachrichtenvorlage (Formatzeichenfolge) ist, nicht die eigentlichen zu protokollierenden Daten.
Sie können die gewünschte Ausgabe erhalten mit:
var json1 = @"{ ""test"": ""test""}";
testLogger.Log("{Json:l}", json1);
( :l
schreibt die Zeichenfolge als Literal ohne zusätzliche Anführungszeichen.)
Beifall,
Nick
Meine Güte, das war furchtbar schnell. Vielen Dank.
Gern geschehen, danke 👍
Hilfreichster Kommentar
Hallo, danke für den Bericht!
Dies liegt daran, dass das Argument für die Protokollierung eine Nachrichtenvorlage (Formatzeichenfolge) ist, nicht die eigentlichen zu protokollierenden Daten.
Sie können die gewünschte Ausgabe erhalten mit:
(
:l
schreibt die Zeichenfolge als Literal ohne zusätzliche Anführungszeichen.)Beifall,
Nick