serilog отдельные события, отформатированные в json с помощью запятой

#asp.net-core #serilog

#asp.net-core #serilog

Вопрос:

я использую serilog в приложении asp net Core и использую средство форматирования json для создания файла ежедневного журнала (интервал изменения установлен в «День»). Когда я смотрю на свой файл, каждое событие само по себе является допустимым json, но файл в целом таковым не является, что делает просмотр его в чем-то вроде code beautify непрактичным. Есть ли способ указать serilog добавить запятую между событиями, чтобы файл был действительным.

Ответ №1:

Я думаю, вы ошибаетесь, когда говорите, что ваш файл журнала соответствовал бы json, если бы запятые разделяли каждую строку. Действительный документ json должен либо начинаться с { и описывать объект, либо начинаться с [ и описывать массив. В любом случае вам пришлось бы закрыть документ, и только тогда он был бы действительным в формате json. Теперь к вопросу на миллион долларов: как вы узнаете, когда закрывать документ, даже если вы написали свой собственный форматировщик текста?

Я думаю, вам следует рассматривать каждое событие журнала как допустимый объект json и использовать инструмент и продукт, который его поддерживает.

Комментарии:

1. да, спасибо — я собирался вставить вывод между { и}, я уже использую seq sink, поэтому, возможно, текстовый файл также не понадобится. Спасибо