V MVVMcross 8 so bile v sistemu za sečnjo izvedene pomembne spremembe. Tu so ključne spremembe:
1. Preklopite na Microsoft.Extensions.Logging: MVVMcross 8 je opustil svoj vmesnik za beleženje po meri (`Imvxlog`) in sprejel okvir` Microsoft.Extensions.Logging`. Ta sprememba zagotavlja stabilen in široko podprti API, ki omogoča lažjo integracijo z različnimi ponudniki sečnje tretjih oseb, kot je Serilog [1] [10].
2. Odstranjevanje odvisnosti od odseva: Za razliko od prejšnje različice MVVMcross 8 ni neposredno odvisen od ponudnikov tretjih oseb z razmislekom. Namesto tega uporablja vmesnike `ilogger` in` iLOGGERFACTORY` za upravljanje sečnje, ki jih je mogoče vbrizgati v razrede, kot so ViewModels, Services in Repozitoriji [1].
3. Zahteve za izvajanje: Uporabniki morajo zdaj izrecno implementirati svoj izpeljan "MVXSetup` in preglasiti dve metodi, povezani z beleženjem:` CreateLogProvider` in `CreateLogFactory`. To je prelomna sprememba iz prejšnjih različic, kjer so bile zagotovljene privzete izvedbe [4] [10].
4. Prilagoditev s tretjimi ponudniki: Uporabniki lahko prilagajajo beleženje z namestitvijo tretjih ponudnikov, kot je Serilog. To vključuje izvajanje metod `CreateLogProvider` in` CreateLogFactory` v datoteki `setup.cs` za konfiguriranje serilogije ali drugih ponudnikov [1] [4].
5. Scoped Belesting: Novi sistem za beleženje omogoča beleženja, ki samodejno povezuje dnevnike s specifičnimi konteksti (npr. ViewModel). To olajša filtriranje dnevnikov na podlagi njihovega vira [1].
Na splošno so te spremembe namenjene zagotavljanju bolj prilagodljivega in standardiziranega sistema za sečnjo v MVVMcross 8, ki se uskladi s širšimi .NET ekosistemi.
Navedbe:[1] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[2] https://www.mvvmcross.com/logging
[3] https://docs.oracle.com/sl/database/oracle/oracle-database/19/sqlrf/alter-materialized-view-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/isissue/1649
[9] https://github.com/mvvmcross/mvvmcross/releases
[10] https://www.mvvmcross.com/mvvmcross-8.0.0-release/