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, это было бы очень полезно, поскольку я сам не смог найти ничего хорошего.