Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jaké jsou výhody používání Microsoft.Extensions.Logging přes předchozí systém protokolování MVVMCrossu


Jaké jsou výhody používání Microsoft.Extensions.Logging přes předchozí systém protokolování MVVMCrossu


Použití Microsoft.Extensions.Logging přes předchozí systém protokolování MVVMCROSS nabízí několik výhod:

1. Flexibilita a rozšiřitelnost: Microsoft.Extensions.Logging poskytuje abstrakční vrstvu, která umožňuje vývojářům používat různé poskytovatele protokolování, jako jsou serilog, nlog nebo log4Net. Tato flexibilita znamená, že rámec protokolování lze snadno vyměnit v závislosti na potřebách projektu, aniž by se změnila podkladový kód. Naproti tomu předchozí systém MVVMCrossu byl přísnější a vyžadoval specifické implementace pro různé poskytovatele [1] [2].

2. Podpora injekce závislosti: Microsoft.Extensions.Logging se dobře integruje do rámců vstřikování závislosti, což usnadňuje vstřikování loggerů do tříd. To je zvláště užitečné pro testování jednotek, protože umožňuje vytvoření falešných loggerů ověřit chování protokolování [7]. MVVMCross také podporuje injekci závislosti na protokolování, ale pomocí Microsoft.Extensions.Logging poskytuje standardizovaný přístup v různých rámcích [2].

3. stabilita a podpora komunity: Microsoft.Extensions.Logging je široce přijato a stabilní API, podporované společností Microsoft a širší komunitou .NET. Tato stabilita zajišťuje, že bude i nadále udržována a aktualizována, což poskytuje dlouhodobou spolehlivost projektů [2] [9].

4. Zjednodušená konfigurace: S Microsoft.Extensions.Logging lze konfiguraci spravovat prostřednictvím AppSettings.json nebo jiných konfiguračních souborů, což zjednodušuje proces nastavení ve srovnání s některými jinými protokolovacími rámcemi. To je obzvláště výhodné při používání poskytovatelů jako Serilog nebo Nlog, které lze nakonfigurovat pomocí JSON [7].

5. Vyhýbání se uzamčení dodavatele: pomocí abstrakční vrstvy, jako je Microsoft.Extensions.Logging, se vývojáři vyhýbají vázání jejich kódu na konkrétní protokolování rámce. To usnadňuje přepínání mezi různými poskytovateli protokolování bez významných změn kódu, snižování uzamčení dodavatele a zvyšování flexibility projektu [9].

6. Škálovatelnost a výkon: Microsoft.Extensions.logging je navržen tak, aby efektivně zvládl vysoce výkonné scénáře protokolování. Podporuje asynchronní protokolování a může být optimalizována pro různá prostředí, takže je vhodná pro rozsáhlé aplikace [9].

Stručně řečeno, Microsoft.Extensions.Logging nabízí flexibilní, škálovatelné a široce podporované řešení protokolování, které se dobře integruje s injekcí závislosti a různými poskytovateli protokolování, což z něj činí vynikající volbu oproti předchozímu systému protokolování MVVMCROSS pro mnoho scénářů vývoje.

Citace:
[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-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-work-for-full-net-framework
[7] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nllog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-třídy
[9] https://blog.stephencleary.com/2018/05/Microsoft-extensions-part-1-nintroduction.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