Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Cuáles son los beneficios de usar microsoft.extensions.logging sobre el sistema de registro anterior de MVVMCross


¿Cuáles son los beneficios de usar microsoft.extensions.logging sobre el sistema de registro anterior de MVVMCross


Uso de microsoft.extensions.logging sobre el sistema de registro anterior de MVVMCross ofrece varios beneficios:

1. Flexibilidad y extensibilidad: Microsoft.Extensions.logging proporciona una capa de abstracción que permite a los desarrolladores usar varios proveedores de registro como Serilog, NLOG o LOG4NET. Esta flexibilidad significa que el marco de registro se puede cambiar fácilmente dependiendo de las necesidades del proyecto, sin cambiar el código subyacente. En contraste, el sistema anterior de MVVMCross era más rígido y requería implementaciones específicas para diferentes proveedores [1] [2].

2. Esto es particularmente útil para las pruebas unitarias, ya que permite la creación de registradores simulados para verificar el comportamiento de registro [7]. MVVMCross también admite la inyección de dependencia para el registro, pero el uso de Microsoft.extensions.logging proporciona un enfoque más estandarizado en diferentes marcos [2].

3. Estabilidad y soporte comunitario: Microsoft.Extensions.logging es una API ampliamente adoptada y estable, compatible con Microsoft y la comunidad .NET más amplia. Esta estabilidad asegura que se continúe manteniéndose y actualizando, proporcionando confiabilidad a largo plazo para los proyectos [2] [9].

4. Configuración simplificada: con Microsoft.extensions.logging, la configuración se puede administrar a través de AppSettings.json u otros archivos de configuración, lo que simplifica el proceso de configuración en comparación con otros marcos de registro. Esto es especialmente beneficioso cuando se utilizan proveedores como Serilog o NLOG, que se puede configurar utilizando JSON [7].

5. Evitar el bloqueo del proveedor: mediante el uso de una capa de abstracción como Microsoft.Extensions.logging, los desarrolladores evitan vincular su código a un marco de registro específico. Esto hace que sea más fácil cambiar entre diferentes proveedores de registro sin cambios significativos en el código, reduciendo el bloqueo de los proveedores y el aumento de la flexibilidad del proyecto [9].

6. Escalabilidad y rendimiento: Microsoft.extensions.logging está diseñado para manejar escenarios de registro de alto rendimiento de manera eficiente. Admite el registro asíncrono y puede optimizarse para diferentes entornos, lo que lo hace adecuado para aplicaciones a gran escala [9].

En resumen, Microsoft.Extensions.logging ofrece una solución de registro flexible, escalable y ampliamente compatible que se integra bien con la inyección de dependencia y varios proveedores de registro, lo que lo convierte en una opción superior sobre el sistema de registro anterior de MVVMCross para muchos escenarios de desarrollo.

Citas:
[1] https://developer.vonage.com/en/blog/adaptive-library-logging-with-microsoft-extensions-logging-dr
[2] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[3] https://stackoverflow.com/questions/46483019/logging-from-static-members-with-microsoft-extensions-logging
[4] https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/extensionsogging
[5] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[6] https://stackoverflow.com/questions/42356802/how-does-microsoft-extensions-logging-work-for-full-net-framework
[7] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nlog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-class
[9] https://blog.stephencleary.com/2018/05/microsoft-extensions-logging-part-1introduction.html
[10] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[11] https://www.reddit.com/r/dotnet/comments/142fs0y/serilog_vs_microsoft_logger_ilogger/
[12] https://github.com/mvvmcross/mvvmcross/issues/2936