Verwenden von Microsoft.EXTENSSSS.
1. Flexibilität und Erweiterbarkeit: microsoft.extensions.logging bietet eine Abstraktionsschicht, mit der Entwickler verschiedene Protokollierungsanbieter wie Serilog, Nlog oder Log4Net verwenden können. Diese Flexibilität bedeutet, dass das Protokollierungs -Framework je nach den Anforderungen des Projekts leicht ausgetauscht werden kann, ohne den zugrunde liegenden Code zu ändern. Im Gegensatz dazu war das frühere System von MVVMCross starrer und erforderte spezifische Implementierungen für verschiedene Anbieter [1] [2].
2. Abhängigkeitsinjektionsunterstützung: microsoft.extensions.logging integriert sich gut in die Abhängigkeitsinjektions -Frameworks, wodurch es einfacher ist, Logger in Klassen einzubeziehen. Dies ist besonders nützlich für Unit -Tests, da die Erstellung von Scheinprotokollern das Protokollierungsverhalten überprüfen kann [7]. MVVMCross unterstützt auch die Abhängigkeitsinjektion für die Protokollierung, aber unter Verwendung von Microsoft.Extensions.logging bietet ein standardisierteres Ansatz über verschiedene Frameworks hinweg [2].
3.. Stabilität und Community -Unterstützung: Microsoft.Extensions.logging ist eine weit verbreitete und stabile API, die von Microsoft und der breiteren .NET -Community unterstützt wird. Diese Stabilität stellt sicher, dass sie weiterhin aufrechterhalten und aktualisiert wird, was die langfristige Zuverlässigkeit für Projekte bietet [2] [9].
4. vereinfachte Konfiguration: Mit microsoft.extensions.logging kann die Konfiguration über appSettings.json oder andere Konfigurationsdateien verwaltet werden, wodurch der Setup -Prozess im Vergleich zu anderen Protokollierungsrahmen vereinfacht wird. Dies ist besonders vorteilhaft bei der Verwendung von Anbietern wie Serilog oder NLOG, die mit JSON [7] konfiguriert werden können.
5. Vermeidung von Anbieter-Lock-In: Durch die Verwendung einer Abstraktionsschicht wie Microsoft.Extensions.Logging vermeiden Entwickler, ihren Code an ein bestimmtes Protokollierungs-Framework zu binden. Dies erleichtert es, zwischen verschiedenen Protokollierungsanbietern ohne signifikante Codeänderungen zu wechseln, die Anbieter-Lock-In und erhöhte die Projektflexibilität zu [9].
6. Skalierbarkeit und Leistung: Microsoft.Extensions.logging wurde für die effiziente Hochleistungs-Protokollierungsszenarien ausgelegt. Es unterstützt asynchrone Protokollierung und kann für verschiedene Umgebungen optimiert werden, sodass es für groß angelegte Anwendungen geeignet ist [9].
Zusammenfassend lässt sich sagen, dass Microsoft.Extensions.logging eine flexible, skalierbare und weit verbreitete Protokollierungslösung bietet, die sich gut in die Abhängigkeitsinjektion und verschiedene Protokollierungsanbieter integriert, was es zu einer überlegenen Wahl gegenüber dem vorherigen Protokollierungssystem von MVVMCross für viele Entwicklungsszenarien macht.
Zitate:[1] https://developer.vonage.com/en/blog/adaptive-library-logging-with-microsoft-textessions-logging-----Wr
[2] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[3] https://stackoverflow.com/questions/46483019/logging-from-static-members-bith-microsoft-uttensions-logging
[4] https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/extensions-logging
[5] https://www.mvmcross.com/documentation/upgrade/upgrade-to-mvmcross-60
[6] https://stackoverflow.com/questions/42356802/how-does-microsoft-textessions-logging-work-for-full-net-framework
[7] https://stackoverflow.com/questions/58209076/microsoft-textessions-logging-vs-nlog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-classe
[9] https://blog.stephecleary.com/2018/05/microsoft-extenssion-logging-part-1-introduction.html
[10] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[11] https://www.reddit.com/r/dotnet/comments/142fs0y/serilog_vs_microsoft_logger_ilogger/
[12] https://github.com/mvvmcross/mvmcross/issues/2936