鉴于此代码:Serilog:之间{..} {差异@ ..}
var d1 = new { x = 5, y = 88 };
Log.Logger.Information("{d1}", d1);
Log.Logger.Information("{@d1}", d1);
如何将在D1的对象在两个不同Log.Logger.Information登录(...)行呢? 换句话说,在{}之间添加@会产生什么影响?
我读“https://github.com/serilog/serilog/wiki/Structured-Data”标题下的“保留对象结构”,但这对我没有意义。
实际上有'{..}'(默认),'{$ ..}'(stringify)和'{@ ..}'(结构)。是[this](https://github.com/serilog/serilog/blob/60e8120a12abee4db942d2ff03b123341fab1fff/src/Serilog/Parsing/Destructuring.cs)*也许*有更多帮助? –
这并没有为我清除它。 “default”和“destructure”似乎都将对象存储为结构化对象,而不是字符串。我很欣赏有一个区别,但看不到它。 – user1147862
方便的是,有人刚刚写了一个很好的Pluralsight课程来解释这个:http://pluralsight.com/training/Courses/TableOfContents/modern-structured-logging-serilog-seq –