Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Aké sú výhody používania Microsoft.extensions.Logging Over


Aké sú výhody používania Microsoft.extensions.Logging Over


Používanie Microsoft.extensions.Logging Over predchádzajúci systém protokolovania MVVMCross ponúka niekoľko výhod:

1. Flexibilita a rozšírenie: Microsoft.extensions.Logging poskytuje abstrakciu vrstvu, ktorá umožňuje vývojárom používať rôznych poskytovateľov protokolovania, ako sú Serilog, NLOG alebo Log4Net. Táto flexibilita znamená, že rámec protokolovania sa dá ľahko vymeniť v závislosti od potrieb projektu bez zmeny základného kódu. Naopak, predchádzajúci systém MVVMCross bol rigidnejší a vyžadovaný konkrétny implementácia pre rôznych poskytovateľov [1] [2].

2. Podpora vstrekovania závislosti: Microsoft.extensions.Logging sa dobre integruje do rámcov vstrekovania závislosti, čo uľahčuje vloženie záznamníkov do tried. Toto je užitočné najmä pre testovanie jednotiek, pretože umožňuje vytvorenie falošných protokolov na overenie správania protokolovania [7]. MVVMCross tiež podporuje injekciu závislosti na protokolovaní, ale pomocou Microsoft.extensions.Logging poskytuje štandardizovanejší prístup v rôznych rámcoch [2].

3. Stabilita a podpora komunity: Microsoft.extensions.Logging je široko prijaté a stabilné API, ktoré podporuje Microsoft a širšia komunita .NET. Táto stabilita zaisťuje, že bude naďalej udržiavaná a aktualizovaná a poskytuje dlhodobú spoľahlivosť pre projekty [2] [9].

4. Zjednodušená konfigurácia: S Microsoft.extensions.Logging je možné konfiguráciu spravovať prostredníctvom Appsettings.json alebo iných konfiguračných súborov, ktoré zjednodušujú proces nastavenia v porovnaní s niektorými inými protokolovými rámcami. Toto je obzvlášť prospešné pri používaní poskytovateľov ako Serilog alebo NLOG, ktoré je možné nakonfigurovať pomocou JSON [7].

5. Vyhýbanie sa blokovaniu dodávateľa: Použitím abstrakčnej vrstvy, ako je Microsoft.Extensions.Logging, vývojári vyhýbajú priviazaniu svojho kódu do konkrétneho rámu protokolovania. To uľahčuje prepínanie medzi rôznymi poskytovateľmi protokolovania bez významných zmien kódu, znížením blokovania dodávateľov a zvýšením flexibility projektu [9].

6. Škálovateľnosť a výkon: Microsoft.extensions.Logging je navrhnutý tak, aby efektívne zvládal vysoko výkonné scenáre protokolovania. Podporuje asynchrónne protokolovanie a dá sa optimalizovať pre rôzne prostredia, vďaka čomu je vhodná pre rozsiahle aplikácie [9].

Stručne povedané, Microsoft.extensions.Logging ponúka flexibilné, škálovateľné a široko podporované riešenie protokolovania, ktoré sa dobre integruje s injekciou závislosti a rôznymi poskytovateľmi protokolovania, vďaka čomu je vynikajúcou voľbou oproti predchádzajúcemu protokolovaciemu systému MVVMCross pre mnoho vývojových scenárov.

Citácie:
[1] https://developer.vonage.com/en/blog/adaptive-library-logging-with-microsoft-extensionsions-logging-d
[2] https://www.mvvmcross.com/documentation/funmamentals/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-mvvvmcross-60
[6] https://stackoverflow.com/questions/42356802/how-does-microsoft-extensions-logging-work-for-full-full-tet-framework
[7] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nlog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-mogging-setup-class
[9] https://blog.stephencleary.com/2018/05/microsoft-extensions-logging-part-1-introduction.html
[10] https://www.mvvmcross.com/documentation/funmamentals/viewmodel-lifecycle
[11] https://www.reddit.com/r/dotnet/comments/142fs0y/serilog_vs_microsoft_logger_iLogger/
[12] https://github.com/mvvmcross/mvvmcross/issues/2936