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. Гнучкість конфігурації: Microsoft.extensions.logging дозволяє конфігурацію за допомогою різних засобів, включаючи файли JSON (наприклад, `adpsettings.json`), що забезпечує гнучкий спосіб управління параметрами журналу без відновлення програми [5]. Ця гнучкість особливо корисна в середовищах, де потреби в журналі можуть часто змінюватися.

6. Рівень журналу та тяжкість: обидва рамки підтримують різні рівні журналу (наприклад, слід, налагодження, інформація, попередження, помилка), але microsoft.extensions.logging включає додатковий рівень `критичного` `` `none 'для цілей конфігурації [11]. Це забезпечує більш детальний контроль над тяжкістю та конфігурацією журналу.

Підсумовуючи це, хоча 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-relase/
[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-viewmodel/17602246
[11] https://blog.stephencleary.com/2018/06/microsoft-extensions-logging-part-2-types.html