Was ist der Zweck von Serilog @
Syntax?Was ist Serilog Destrukturierung?
Wenn ich laufen die folgenden:
var dummy = new { Foo = "Bar", Date = DateTime.Now };
Log.Information("Dummy object: {Dummy}", dummy);
Dann bekomme ich eine Ausgabe an die Konsole wie folgt:
Time: 16:20 [Level: Information] (ManagedThreadID: 8) Message: Dummy object: "Foo = Bar, Date = 25/06/2016 16:20:30 }"
Wenn ich die {Dummy}
zu {@Dummy}
dann ändern bekomme ich die gleiche Ausgabe
Time: 16:22 [Level: Information] (ManagedThreadID: 8) Message: Dummy object: Foo: "Bar", Date: 06/25/2016 16:22:28 }
Also, was ist die @
angenommen t o machen?
Ja! Wenn Sie einen anonymen Typ 'ToString()' 'erhalten, erhalten Sie ein serialisiertes Formular. – BanksySan
@BanksySan Art von ... 'ToString()' an einem anonymen Typ gibt Ihnen immer noch eine einzige Zeichenfolge, es sieht einfach gut aus. Das '@' ist viel mehr als das, da es die Senke mit dem serialisierten Objekt versorgt, und die Senke kann damit machen, was sie will, einschließlich der Speicherung der serialisierten Daten. Versuchen Sie Serilog mit Seq (https://getseq.net) zu verwenden, um zu sehen, wie mächtig der '@' Operator sein kann. –