Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Які переваги використання Microsoft.extensions.logging над попередньою системою журналу MVVMCross


Які переваги використання Microsoft.extensions.logging над попередньою системою журналу MVVMCross


Використання Microsoft.extensions.Logging над попередньою системою журналу MVVMCross пропонує кілька переваг:

1. Гнучкість та розширюваність: Microsoft.extensions.Logging забезпечує шар абстракції, який дозволяє розробникам використовувати різні постачальники журналів, такі як Serilog, NLOG або LOG4NET. Ця гнучкість означає, що рамки журналу можна легко поміняти залежно від потреб проекту, не змінюючи базового коду. На відміну від цього, попередня система MVVMCross була більш жорсткою та потребувала конкретних реалізацій для різних постачальників [1] [2].

2. Підтримка ін'єкцій залежності: Microsoft.extensions.Logging добре інтегрується з рамками для введення залежності, що полегшує введення реєстраторів у класи. Це особливо корисно для тестування одиниць, оскільки дозволяє створити макетні реєстрації перевірити поведінку журналу [7]. MVVMCross також підтримує введення залежності для журналу, але використання Microsoft.extensions.Logging забезпечує більш стандартизований підхід у різних рамках [2].

3. Стабільність та підтримка спільноти: Microsoft.extensions.Logging - це широко прийнятий та стабільний API, який підтримується Microsoft та широкою спільнотою .NET. Ця стабільність гарантує, що вона буде продовжувати підтримувати та оновлювати, забезпечуючи довгострокову надійність проектів [2] [9].

4. Спрощена конфігурація: За допомогою Microsoft.extensions.Logging, конфігурація можна керувати через AppEstings.json або інші файли конфігурації, що спрощує процес налаштування порівняно з деякими іншими рамками журналів. Це особливо вигідно при використанні провайдерів, таких як Serilog або NLOG, які можна налаштувати за допомогою JSON [7].

5. Уникнення блокування постачальника: за допомогою рівня абстракції, як Microsoft.extensions.logging, розробники уникають прив’язки свого коду до конкретної рамки журналу. Це полегшує перемикання між різними постачальниками журналів без значних змін коду, зменшуючи блокування постачальників та збільшення гнучкості проекту [9].

6. Масштабованість та продуктивність: Microsoft.extensions.Logging розроблений для ефективного обробки високоефективних сценаріїв журналу. Він підтримує асинхронний журнал і може бути оптимізований для різних середовищ, що робить його придатним для масштабних додатків [9].

Підводячи підсумок, Microsoft.extensions.logging пропонує гнучке, масштабоване та широко підтримуване рішення для журналу, яке добре інтегрується з введенням залежності та різними постачальниками реєстрації, що робить його чудовим вибором над попередньою системою журналу MVVMcross для багатьох сценаріїв розробки.

Цитати:
[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/extensions-logging
[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-1-introduction.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