In MVVMCross 8 werden significante wijzigingen aangebracht in het houtkapsysteem. Hier zijn de belangrijkste wijzigingen:
1. Schakel over naar Microsoft.Extensions.Logging: MVVMCross 8 heeft de aangepaste logboekinterface (`IMVXLog`) verlaten en het framework` Microsoft.Extensions.Logging` overgenomen. Deze wijziging biedt een stabiele en algemeen ondersteunde API, waardoor een gemakkelijkere integratie mogelijk is met verschillende logboekaanbieders van derden zoals Serilog [1] [10].
2. Verwijdering van reflectieafhankelijkheid: in tegenstelling tot de vorige versie, is MVVMCross 8 niet direct afhankelijk van externe providers door reflectie. In plaats daarvan gebruikt het de `ilogger` en` ILoggerFactory` -interfaces om logging te beheren, die kunnen worden geïnjecteerd in klassen zoals ViewModels, Services en Repositories [1].
3. Implementatie-eisen: gebruikers moeten nu expliciet hun eigen `mvxsetup`-afgeleide en twee-logging-gerelateerde methoden implementeren:` createLogProvider` en `createLogFactory`. Dit is een brekende wijziging van eerdere versies waar standaard implementaties werden verstrekt [4] [10].
4. Aanpassing met externe providers: gebruikers kunnen logging aanpassen door providers van derden zoals Serilog te installeren. Dit omvat het implementeren van de methoden `createLogProvider` en` createLogFactory` -methoden in het bestand `setup.cs` om Serilog of andere providers te configureren [1] [4].
5. Scoped Logging: het nieuwe logboeksysteem zorgt voor scoped logging, die automatisch logboeken associeert met specifieke contexten (bijv. Een ViewModel). Dit maakt het gemakkelijker om logboeken te filteren op basis van hun bron [1].
Over het algemeen zijn deze wijzigingen bedoeld om een flexibeler en gestandaardiseerd logboeksysteem te bieden in MVVMCross 8, in overeenstemming met bredere .NET -ecosysteempraktijken.
Citaten:[1] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[2] https://www.mvvmcross.com/logging
[3] https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/alter-ematerialized-view-loog.html
[4] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-80
[5] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[6] https://github.com/mvvmcross/mvvmcross/blob/develop/changelog.md
[7] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-class
[8] https://github.com/mvvmcross/mvvmcross/issues/1649
[9] https://github.com/mvvmcross/mvvmcross/releases
[10] https://www.mvvmcross.com/mvvmcross-8.0.0-release/