In MVVMCROSS 8, sono state apportate modifiche significative al sistema di registrazione. Ecco le modifiche chiave:
1. Passa a Microsoft.Extensions.logging: mvvmcross 8 ha abbandonato la sua interfaccia di registrazione personalizzata (`imvxlog`) e ha adottato il framework` Microsoft.Extensions.logging`. Questa modifica fornisce un'API stabile e ampiamente supportata, consentendo una più facile integrazione con vari fornitori di registrazione di terze parti come Serilog [1] [10].
2. Rimozione della dipendenza dalla riflessione: a differenza della versione precedente, MVVMCRoss 8 non dipende direttamente dai fornitori di terze parti attraverso la riflessione. Invece, utilizza le interfacce `Ilogger` e` Iloggerfactory` per gestire la registrazione, che possono essere iniettate in classi come ViewModels, Servizi e repository [1].
3. Requisiti di implementazione: gli utenti devono ora implementare esplicitamente il proprio derivato `mvxsetup` e sovrascrivere due metodi relativi alla registrazione:` CreateLogProvider` e `CreateLogFactory`. Questa è una modifica di rottura dalle versioni precedenti in cui sono state fornite implementazioni predefinite [4] [10].
4. Personalizzazione con provider di terze parti: gli utenti possono personalizzare la registrazione installando provider di terze parti come Serilog. Ciò comporta l'implementazione di metodi `createLogProvider` e` CreateLogFactory` nel file `setup.cs` per configurare Serilog o altri provider [1] [4].
5. Registrazione con ambito: il nuovo sistema di registrazione consente la registrazione ammessa, che associa automaticamente i registri a contesti specifici (ad esempio, un moderno View). Ciò rende più semplice filtrare i registri in base alla loro fonte [1].
Nel complesso, questi cambiamenti mirano a fornire un sistema di registrazione più flessibile e standardizzato in MVVMCRoss 8, allineando con pratiche ecosistemiche .NET più ampie.
Citazioni:[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-view-log.html
[4] https://www.mvvmcross.com/documentation/upgrading/upgrado-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-lass
[8] https://github.com/mvvmcross/mvvmcross/issues/1649
[9] https://github.com/mvvmcross/mvvmcross/release
[10] https://www.mvvmcross.com/mvvmcross-8.0.0-release/