Можно ли поручить Serilog сбросить каждую запись журнала в отдельный файл JSON?

Я занимаюсь разработкой сервиса, который должен выводить каждую запись в журнал как отдельный файл json. Затем все эти выгруженные файлы журнала будут импортированы в ElasticSearch. Я знаю о приемнике ElasticSearch, но идея не в том, чтобы терять журналы, когда ElasticSearch недоступен.

Один из обходных путей:

  1. Использовать приемник TextWriter со StringWriter;
  2. Записать содержимое StringWriter в файл json;
  3. И очищать лежащий в основе StringBuilder после каждого вызова.

Любые другие решения?

1 ответ

Решение

Обычай ILogEventSink добавлено с WriteTo.Sink(...) нужен для этого. JsonFormatter Я думаю, что класс, поставляемый с Serilog, делает это довольно быстрым для реализации.

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