Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Каковы преимущества использования microsoft.extensions.logging через mvxlog в mvvmcross


Каковы преимущества использования microsoft.extensions.logging через mvxlog в mvvmcross


При сравнении microsoft.extensions.logging с mvxlog в контексте MVVMcross несколько преимуществ появляются из -за использования первого над последним:

1. Расширенность и гибкость: Microsoft.extensions.Logging предлагает очень расширяемую структуру, которая позволяет легко интегрироваться с различными сторонними поставщиками журнала, такими как NLOG, SERILOG и LOG4NET. Эта гибкость по своей природе не встроена в MVXLOG, что было более ограниченным в его способности интегрироваться с различными рамками регистрации [1] [2]. С помощью microsoft.extensions.logging вы можете легко переключаться между различными поставщиками журнала без изменения кода вашего приложения, делая его более адаптируемым к различным средам и требованиям.

2. Поддержка впрыска зависимостей: Microsoft.Extensions.Logging предназначено для беспрепятственной работы с инъекцией зависимостей (DI), которая является основной особенностью многих современных приложений .NET, в том числе тех, которые построены с MVVMcross. Эта интеграция обеспечивает более легкое модульное тестирование и издевательство компонентов регистрации, что полезно для поддержания надежного тестового покрытия [5] [8]. MVXLOG, находясь в инъекции, не предлагает такого же уровня интеграции с DI Frameworks, как и Microsoft.extensions.Logging.

3. Стандартизация и поддержка сообщества: Microsoft.Extensions.Logging - широко принятый стандарт в экосистеме .NET, что означает, что она получает выгоду от обширной поддержки сообщества и документации. Эта стандартизация облегчает разработчикам понимание и реализацию журнала в различных проектах и ​​платформах [2] [11]. Напротив, MVXLOG специфичен для MVVMcross и может быть не так широко признан или поддерживается за пределами этой структуры.

4. Масштабируемость и производительность: архитектура Microsoft.extensions.Logging предназначена для эффективной работы с крупномасштабными приложениями. Он предоставляет такие функции, как фильтрация и категоризация журнала, которые могут улучшить производительность за счет снижения ненужных выводов журнала [11]. Хотя MVXLOG способен, он может не соответствовать оптимизации масштабируемости и производительности, доступных в Microsoft.Extensions.Logging.

5. Эта гибкость особенно полезна в средах, где потребности в журнале могут часто меняться.

6. Это обеспечивает более детальный контроль над серьезностью и конфигурацией ведения журнала.

Таким образом, в то время как MVXLOG является способным регистрационным решением в экосистеме MVVMcross, Microsoft.Extensions.Logging предлагает более широкую совместимость, расширяемость и поддержку сообщества, что делает его более универсальным выбором для регистрации в современных приложениях .NET.

Цитаты:
[1] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[2] https://putridparrot.com/blog/using-microsoft-extensions-logging/
[3] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[4] https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/extensions-logging
[5] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nlog
[6] https://www.mvvmcross.com/mvvmcross-8.0.0-release/
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://stackoverflow.com/questions/46483019/logging-from-static-members-with-microsoft-extensions-logging
[9] https://www.mvvmcross.com/logging
[10] https://stackoverflow.com/questions/17602137/mvvmcross-how-does-this-view-get-linked-the-the-viewmodel/17602246
[11] https://blog.stephenceley.com/2018/06/microsoft-extensions-logging-part-2-types.html