Serilog структурированные данные довольно распечатать?

Есть ли способ превратить структурированные данные в формате Serilog в форматированный вывод?

В последнее время я использовал структурированные структуры данных в Serilog, и хотя есть преимущество в том, что компактные большие структуры данных (5 или более свойств) трудно читать в консоли / файле, не форматируя их позже.

Гипотетически я бы включил это только на dev.

https://github.com/serilog/serilog/wiki/Structured-Data

Из этого:

{ "Fruit": ["Apple", "Pear", "Orange"] }

К этому:

{
  "Fruit": [
    "Apple",
    "Pear",
    "Orange"
  ]
}

Изменить: в настоящее время я использую JsonConvert.SerializeObject({...}, Formatting.Indented) но я хотел бы отойти от этого по причинам, таким как правильная окраска из пакета консоли, более быстрая сериализация, отложенная сериализация и т. д.

1 ответ

Решение

Кажется, я вспоминаю, что несколько лет назад нам пришлось работать с пользовательским форматером, чтобы изменить вывод json по умолчанию из serilog. Я не помню, какая именно у нас была проблема.

Вы можете взглянуть на https://github.com/serilog/serilog/wiki/Formatting-Output, если вы еще этого не сделали.

Я начал использовать https://getseq.net/ для просмотра структурированного вывода в процессе разработки, я очень рекомендую его.

Другие вопросы по тегам