将字符串化的json作为结构化数据发送到serilog

时间:2018-10-26 09:10:47

标签: c# .net json serilog seq

我有:Serilog 2.7.1 .NET Framework 4.5.x

我有一个具有不同结构的字符串化JSON。示例:

{
  "dto": {
    "id": "8d8cc96fa1b44186b28f2a90364e47d2",
    "userName": "case6",
    "display": true,
    "isFullUpdate": false
  }
}

我想将其保存为结构化数据-而不是字符串化的JSON。

有2种方法:

具有更好的性能-查找格式化程序“ stringized json”->结构化数据 另一种方法-将其转换为JObject(性能较差)之前-之后转换为结构化数据 JsonConvert.DeserializeObject(myStringifiedJson)->->结构化数据(现在的结果是:

  

[21:34:27 INF] [[[]],[[]]])

有一个针对netCore 2.0的解决方案-但不适用于.NET Framework 4.5.x (https://github.com/destructurama/json-net) 如果当前行为是错误,请提供重现该问题的步骤,并尽可能提供该问题的最小演示

Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.Console()
.CreateLogger();
var myStringifiedJson = @" {""dto"":{""id"":""8d8cc96fa1b44186b28f2a90364e47d2"",""userName"":""case6"",""display"":true,""isFullUpdate"":false}}";
var myJObject = JsonConvert.DeserializeObject(myStringifiedJson);
Log.Information("{@jobject}", myStringifiedJson); // just plaint text
Log.Information("{@jobject}", myJObject); // [[[]], [[]]])
Log.CloseAndFlush();

0 个答案:

没有答案