Добавить/удалить переопределение уровня ведения журнала Serilog во время выполнения

Я использую Serilog в .Net 6 WebApi, и необходимые настройки Serilog, включая уровень ведения журнала по умолчанию и несколько переопределений, в настоящее время устанавливаются через настройки приложения. Тем не менее, я ищу способ динамически добавлять/удалять переопределение уровня ведения журнала для дополнительных пространств имен во время выполнения, чтобы я мог собирать дополнительные журналы по запросу для устранения неполадок без повторного развертывания приложения с изменениями настроек. Это возможно? Есть ли какие-либо рекомендации о том, как этого можно достичь?

Спасибо!

1 ответ

Вы можете реализовать пользовательский поставщик конфигурации в .NET Core, который считывает конфигурацию из базы данных. И вам может понадобиться реализовать опцию перезагрузки. Поэтому, когда вы обновите базу данных, ваша конфигурация будет обновлена. Вот несколько ссылок, которые могут вам помочь.

  1. Внедрение пользовательского поставщика конфигурации в .NET
  2. Обновляемый поставщик конфигурации SQL Server для .NET Core
  3. Создание пользовательского ConfigurationProvider для источника Entity Framework Core
Другие вопросы по тегам