Dans MVVMCross 8, des changements importants ont été apportés au système de journalisation. Voici les changements clés:
1. Passez à Microsoft.Extensions.Logging: MVVMCross 8 a abandonné son interface de journalisation personnalisée (`imvxlog`) et a adopté le framework` Microsoft.Extensions.logging`. Ce changement fournit une API stable et largement prise en charge, permettant une intégration plus facile avec divers fournisseurs de journalisation tiers comme Serilog [1] [10].
2. Retrait de la dépendance de la réflexion: Contrairement à la version précédente, MVVMCross 8 ne dépend pas directement des fournisseurs tiers par la réflexion. Au lieu de cela, il utilise les interfaces `ilogger 'et` iloggerfactory »pour gérer la journalisation, qui peut être injectée dans des classes telles que ViewModels, services et référentiels [1].
3. Exigences de mise en œuvre: les utilisateurs doivent désormais implémenter explicitement leur propre dérivé `mvxsetup» et remplacer deux méthodes liées à la journalisation: `CreateLogProvider` et` CreateLogFactory ». Il s'agit d'un changement de rupture par rapport aux versions précédentes où les implémentations par défaut ont été fournies [4] [10].
4. Personnalisation avec des fournisseurs tiers: les utilisateurs peuvent personnaliser la journalisation en installant des fournisseurs tiers tels que Serilog. Cela implique la mise en œuvre de méthodes `CreateLogProviderw» et «CreateLogFactory» dans le fichier «setup.cs» pour configurer le Serilog ou d'autres fournisseurs [1] [4].
5. Logotage dans l'ampleur: le nouveau système de journalisation permet la journalisation dans l'ampleur, qui associe automatiquement les journaux à des contextes spécifiques (par exemple, un ViewModel). Cela facilite le filtrage des journaux en fonction de leur source [1].
Dans l'ensemble, ces changements visent à fournir un système de journalisation plus flexible et standardisé dans MVVMCross 8, s'alignant avec des pratiques écosystémiques .NET plus larges.
Citations:[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-matealized-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/issues/1649
[9] https://github.com/mvvmcross/mvvmcross/releases
[10] https://www.mvvmcross.com/mvvmcross-8.0.0-release/