在Serilog中记录Dictionary,其中Value type是一个类



我有一个Dictionary<string, object>,其中值是不同的类类型。当我尝试记录字典时,内容不能正确显示

_logger.LogInformation("Printing Dictionary: {@myDictionary}", myDictionary);

在搜索结果

打印字典:{" KEY1"; {"$type": "ClassNameOne"}, {"KEY2";:"ClassNameTwo"}

期望的结果是{"KEY1":{"ClassOnesFirstProperty" : "PropertyValue","ClassOnesSecondProperty" : "PropertyValue"}, {"KEY2":{"ClassTwosFirstProperty" : "PropertyValue"}}

或者至少显示实际数据的东西。我怎样才能做到这一点呢?

一个解决方案:在记录字典之前序列化它。

_logger.LogInformation("Printing Dictionary: {@myDictionary}", myDictionary);

应该成为

_logger.LogInformation("Printing Dictionary: {@myDictionary}", JsonConvert.SerializeObject(myDictionary));

相关内容

  • 没有找到相关文章

最新更新