Ich möchte jede Json in Serilog Eigenschaften protokollieren. Ich habe viel über serilog und json gelesen, aber es ist eine strukturierte json-Protokollierung mit einer Nachrichtenvorlage. Anstatt also diesen Log.Info("{@text}",text);
die Protokollierung würde Ich mag, dies zu tun:Log Json mit Serilog
var json="{ \"text\": \"hello\" }"; //a json string or a Json object
Log.Info(json);
Der wesentliche Unterschied besteht darin, dass mit dem ersten Ansatz, können Sie eine Nachrichtenvorlage haben und immer haben Sie eine „Text“ Eigenschaft. Ich möchte json mit unterschiedlichen Strukturen haben, wenn beispielsweise dann ich habe:
var json="{ \"text\": \"hello\", \"text2\": \"hello2\" }"; //a json string or a Json object
Log.Info(json);
I 2 Eigenschaften erhalten möchte, das heißt, 1-Eigenschaft für jede json Eigenschaft, ohne eine Nachrichtenvorlage definieren zu müssen. Ist das möglich? muss ich meinen eigenen JsonFormatter implementieren?
Es sollte, dass JSON beachtet werden [Definition] (http://www.json.org/) ist eine Zeichenfolge, basierend Austausch-Format. Es gibt kein Konzept von JSON als String gegen ein Objekt ... – War10ck
danke für deine Antwort. Ich habe ein logarithmisches Repository und möchte nach der Eigenschaft suchen, also würde ich mit einer Nachrichtenvorlage alle meine Eigenschaften im Voraus definieren. Das ist der Hauptgrund, warum ich das frage. –
Haben Sie den JSON als JSON.NET 'JObject'? Wenn ja, sollte https://github.com/destructurama/json-net/ genau das sein, wonach Sie suchen. –