Écrire du texte brut dans un récepteur RollingFile et produire une ligne de JSON. Il semble convertir les triplets d'accolades fermantes en doubles accolades. Le code ci-dessous devrait l'illustrer. testLogger est un wrapper simple que j'utilise pour me permettre éventuellement de l'envoyer à la fenêtre de débogage au lieu du fichier. Les résultats proviennent du fichier.
var json1 = @"{ ""tester"": ""tester""}" ;
testLogger.Log(json1);
var json2 = @"{ ""test"": ""test"", { ""nest1"": ""un"" }}" ;
testLogger.Log(json2);
var json3 = @"{ ""test"": ""test"", { ""nest1"": ""un"", { ""nest2"": ""deux""}}}" ;
testLogger.Log(json3);
2016-10-17 08:34:48.111 -04:00 [Avertissement] { "test": "test"}
2016-10-17 08:34:48.111 -04:00 [Avertissement] { "test": "test", { "nest1": "one" }}
2016-10-17 08:34:48.111 -04:00 [Avertissement] { "test": "test", { "nest1": "un", { "nest2": "deux"}}
Salut, merci pour le rapport !
En effet, l'argument de l'enregistreur est un modèle de message (chaîne de format), et non les données réelles à enregistrer.
Vous pouvez obtenir la sortie que vous voulez avec :
var json1 = @"{ ""test"": ""test""}";
testLogger.Log("{Json:l}", json1);
(Le :l
écrira la chaîne comme un littéral, sans guillemets supplémentaires.)
Acclamations,
pseudo
Gosh c'était terriblement rapide. Merci beaucoup.
De rien, merci 👍
Commentaire le plus utile
Salut, merci pour le rapport !
En effet, l'argument de l'enregistreur est un modèle de message (chaîne de format), et non les données réelles à enregistrer.
Vous pouvez obtenir la sortie que vous voulez avec :
(Le
:l
écrira la chaîne comme un littéral, sans guillemets supplémentaires.)Acclamations,
pseudo