Ich probiere das benutzerdefinierte Anbieterbeispiel ILogger von Microsoft aus (von der CustomLoggingProviders-Seite und der entsprechenden Github-Seite) und obwohl alles funktioniert, kann ich nicht herausfinden, wie die Konfiguration zur Laufzeit aktualisiert wird.
Ich sehe, dass es im Konstruktor für ColorConsoleLoggerProvider einen IOptionsMonitor gibt, aber es gibt keine Verweise darauf ColorConsoleLoggerProvider Konstruktor gemäß Intellisense. Ich gehe derzeit davon aus, dass Microsofts Builder das selbst „irgendwo“ unter der Haube macht, aber ich habe keine Ahnung, wo.
Als nächstes habe ich die ColorConsoleLoggerExtensions für AddColorConsoleLogger durchgesehen, das eine Aktion hat, die während der Laufzeit/Start in Program.cs einige Werte zu überschreiben scheint – das könnte ich leicht ändern, aber nur einmal während des Starts – ich gehe davon aus, dass die Absicht nicht darin besteht, Anbieter zu entfernen und fügen Sie jedes Mal neue hinzu, wenn wir die Konfiguration ändern möchten.
Als nächstes habe ich versucht, ein ColorConsoleLoggerConfiguration-Objekt außerhalb des Beispielcodes zu erstellen, die Konfiguration im Lambda so festzulegen, dass sie auf dieses Objekt verweist (habe auch versucht, die Eigenschaften direkt im Lambda festzulegen), einen Haltepunkt in config.OnChange zu setzen und etwas im ursprünglichen ColorConsoleLoggerConfiguration-Objekt zu ändern – wenn einer von Ihnen weiß, was hier vor sich geht, wird Ihnen vielleicht schon klar, dass es nicht funktioniert hat. Wenn nicht, sind Sie genau dort, wo ich bin.
Ich verwende keine appsettings.json-Datei, da die integrierte Konfiguration von Microsoft, die appsettings.json verwendet, nicht zur Laufzeit aktualisiert werden kann und daher meiner Meinung nach der gesamte Zweck der Verwendung von IOptionsMonitor zunichte gemacht wird, da Sie die Einstellungen ändern und Ihre Anwendung neu starten müssten, um die Updates zu sehen. Vielleicht ist das der Grund? Aber warum sollte man dann IOptionsMonitor verwenden, wenn die Absicht darin besteht, nur zu aktualisieren, wenn sich appsettings.json ändert, obwohl man weiß, dass die Anwendung selbst das nicht kann?
Was ist der „richtige“ Weg, ColorConsoleLoggerConfiguration-Werte programmgesteuert zur Laufzeit zu aktualisieren?
Wie wird die Konfiguration im ColorConsoleLogger-Beispiel von Microsoft aktualisiert? ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version