En MVVMCross 8, se realizaron cambios significativos en el sistema de registro. Aquí están los cambios clave:
1. Cambie a Microsoft.Extensions.logging: MVVMCross 8 abandonó su interfaz de registro personalizada (`IMVXLog`) y adoptó el marco` Microsoft.extensions.logging`. Este cambio proporciona una API estable y ampliamente compatible, lo que permite una integración más fácil con varios proveedores de registro de terceros como Serilog [1] [10].
2. Eliminación de la dependencia de la reflexión: a diferencia de la versión anterior, MVVMCross 8 no depende directamente de los proveedores de terceros a través de la reflexión. En cambio, utiliza las interfaces `Ilogger` y` IloggerFactory` para administrar el registro, que se pueden inyectar en clases como ViewModels, Services y Repositorios [1].
3. Requisitos de implementación: los usuarios ahora deben implementar explícitamente su propia derivada `MVXSetUp` y anular dos métodos relacionados con el registro:` CreateLogProvider` y `CreateLogFactory`. Este es un cambio de ruptura de las versiones anteriores donde se proporcionaron implementaciones predeterminadas [4] [10].
4. Personalización con proveedores de terceros: los usuarios pueden personalizar el registro instalando proveedores externos como Serilog. Esto implica la implementación de métodos `CreateLogProvider` y` CreateLogFactory` en el archivo `setup.cs` para configurar serilog u otros proveedores [1] [4].
5. Registro de alcance: el nuevo sistema de registro permite el registro de alcance, que asocia automáticamente los registros con contextos específicos (por ejemplo, un modelado). Esto hace que sea más fácil filtrar registros en función de su fuente [1].
En general, estos cambios tienen como objetivo proporcionar un sistema de registro más flexible y estandarizado en MVVMCross 8, alineándose con prácticas más amplias del ecosistema .NET.
Citas:[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/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/