Serilog: многофайловый вывод с использованием сублоггеров и фильтров

Мой вывод C# Serilog должен идти в два разных файла: «обычный» вывод при использовании одного набора выражений (WriteOperationalLog) и вывод JSON при использовании другого (WriteJsonLog).

Насколько я понимаю, я думаю, что мне следует использовать сублоггеры, чтобы отфильтровать выражение JSON и отправить его в отдельный выходной файл. Однако всякий раз, когда я пытаюсь использовать фильтры, это приводит к бесконечным циклам.

Моя функция создания логгера выглядит следующим образом:

      Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File(filepath, rollingInterval: RollingInterval.Day) 
.WriteTo.Logger(lc => lc
    .Filter.ByIncludingOnly(WriteJsonLog)
    .WriteTo.File(new ExpressionTemplate("{ @m } \n"), filepathJson, rollingInterval: RollingInterval.Day))
.CreateLogger();

Если кто-нибудь может указать мне документацию о том, как использовать функцию .Filter, это было бы очень полезно, поскольку я сам не смог найти ничего хорошего.

0 ответов

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