I MVVMCROSS 8 ble det gjort betydelige endringer i loggingssystemet. Her er de viktigste endringene:
1. Bytt til Microsoft.Extensions.Logging: MVVMCROSS 8 forlot sitt tilpassede logggrensesnitt (`IMVXLOG`) og adopterte` Microsoft.Extensions.logging` -rammeverket. Denne endringen gir et stabilt og vidt støttet API, noe som gir enklere integrasjon med forskjellige tredjeparts loggleverandører som Serilog [1] [10].
2. Fjerning av refleksjonsavhengighet: I motsetning til den forrige versjonen, er MVVMCROSS 8 ikke direkte avhengig av tredjepartsleverandører gjennom refleksjon. I stedet bruker den `ilogger` og` iloggerfactory` -grensesnittene for å administrere logging, som kan injiseres i klasser som ViewModels, Services og depositories [1].
3. Krav til implementering: Brukere må nå eksplisitt implementere sine egne `MVXSetup`-derivat og overstyre to loggingsrelaterte metoder:` CreatelogProvider` og `CreatelogFactory`. Dette er en brytende endring fra tidligere versjoner der standardimplementeringer ble gitt [4] [10].
4. Tilpasning med tredjepartsleverandører: Brukere kan tilpasse logging ved å installere tredjepartsleverandører som Serilog. Dette innebærer å implementere `CreateLogProvider` og` CreateLogFactory` -metodene i `setup.cs` for å konfigurere Serilog eller andre leverandører [1] [4].
5. SCOPED LOGGING: Det nye loggingssystemet gir mulighet for scoped logging, som automatisk knytter logger med spesifikke kontekster (f.eks. En ViewModel). Dette gjør det lettere å filtrere logger basert på kilden deres [1].
Totalt sett har disse endringene som mål å gi et mer fleksibelt og standardisert loggingssystem i MVVMCROSS 8, og samsvarer med bredere .NET -økosystempraksis.
Sitasjoner:[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-materialized-vis-log.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/