Отправить структурированный JSON в Serilog как структурированные данные - PullRequest
0 голосов
/ 26 октября 2018

у меня есть: Serilog 2.7.1 .NET Framework 4.5.x

У меня есть строковый JSON с разными структурами. Пример:

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

Я хочу сохранить его как структурированные данные, а не как строковый JSON.

Есть 2 способа:

с лучшей производительностью - найти средство форматирования "stringified 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();
...