Как обновляется конфигурация в примере Microsoft ColorConsoleLogger?C#

Место общения программистов C#
Ответить
Anonymous
 Как обновляется конфигурация в примере Microsoft ColorConsoleLogger?

Сообщение Anonymous »

Я пробую пример пользовательского поставщика Microsoft ILogger (со страницы CustomLoggingProviders и соответствующей страницы github), и хотя все это работает, я не могу понять, как конфигурация обновляется во время выполнения.
Я вижу, что в конструкторе ColorConsoleLoggerProvider есть IOptionsMonitor, но нет ссылок на ColorConsoleLoggerProvider конструктор в соответствии с intellisense. В настоящее время я предполагаю, что builder Microsoft делает это сам "где-то" под капотом, но я понятия не имею, где.
Затем я просмотрел ColorConsoleLoggerExtensions для AddColorConsoleLogger, у которого есть действие, которое, похоже, перезаписывает некоторые значения во время выполнения/запуска в Program.cs - это я мог бы легко изменить, но только один раз во время запуска - я предполагаю, что намерение не состоит в том, чтобы удалить поставщиков и добавлять новых каждый раз, когда мы хотим изменить конфигурацию.
Далее я попробовал создать объект ColorConsoleLoggerConfiguration вне примера кода, установить конфигурацию внутри лямбды для ссылки на этот объект (также попробовал напрямую установить свойства в лямбде), установить точку останова внутри config.OnChange и изменить что-то в исходном объекте ColorConsoleLoggerConfiguration — если кто-то из вас знает, что здесь происходит, вы, возможно, уже это поняли не сработало. Если нет, то вы именно там, где я.
Я не использую файл appsettings.json, поскольку встроенная конфигурация Microsoft с использованием appsettings.json не может быть обновлена ​​во время выполнения, и поэтому я считаю, что это противоречит всей цели использования IOptionsMonitor, поскольку вам придется изменить настройки и перезапустить приложение, чтобы увидеть обновления. Может быть, именно поэтому? Но тогда зачем использовать IOptionsMonitor, если предполагается обновление только при изменении файла appsettings.json, зная, что само приложение не может этого сделать?
Каков «правильный» способ программного обновления значений ColorConsoleLoggerConfiguration во время выполнения?

Подробнее здесь: https://stackoverflow.com/questions/798 ... on-updated
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»