Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hva er fordelene ved å bruke Microsoft.extensions.logging over MVVMCROSSs forrige loggingssystem


Hva er fordelene ved å bruke Microsoft.extensions.logging over MVVMCROSSs forrige loggingssystem


Bruke Microsoft.extensions.logging Over MVVMCROSSs forrige loggingssystem gir flere fordeler:

1. Fleksibilitet og utvidbarhet: Microsoft.Extensions.logging gir et abstraksjonslag som lar utviklere bruke forskjellige loggleverandører som Serilog, NLOG eller LOG4NET. Denne fleksibiliteten betyr at loggingsrammen enkelt kan byttes ut avhengig av prosjektets behov, uten å endre den underliggende koden. I kontrast var MVVMCROSSs tidligere system mer stiv og krevde spesifikke implementeringer for forskjellige leverandører [1] [2].

2. Avhengighetsinjeksjonsstøtte: Microsoft.Extensions.logging integreres godt med avhengighetsinjeksjonsrammer, noe som gjør det lettere å injisere tømmerhogger i klasser. Dette er spesielt nyttig for enhetstesting, ettersom det gjør det mulig å opprette hånsloggere å bekrefte loggatferd [7]. MVVMCROSS støtter også avhengighetsinjeksjon for logging, men bruker Microsoft.extensions.logging gir en mer standardisert tilnærming på tvers av forskjellige rammer [2].

3. Støtte og samfunnsstøtte: Microsoft.Extensions.logging er et bredt vedtatt og stabilt API, støttet av Microsoft og det bredere .NET -samfunnet. Denne stabiliteten sikrer at den vil fortsette å opprettholdes og oppdateres, noe som gir langsiktig pålitelighet for prosjekter [2] [9].

4. Forenklet konfigurasjon: Med Microsoft.Extensions.Logging kan konfigurasjon administreres gjennom AppSettings.json eller andre konfigurasjonsfiler, som forenkler installasjonsprosessen sammenlignet med noen andre loggingsrammer. Dette er spesielt gunstig når du bruker leverandører som Serilog eller NLOG, som kan konfigureres ved hjelp av JSON [7].

5. Unngå leverandørlås: Ved å bruke et abstraksjonslag som Microsoft.Extensions.logging, unngår utviklere å knytte koden til et spesifikt loggingsramme. Dette gjør det lettere å veksle mellom forskjellige loggleverandører uten betydelige kodeendringer, redusere leverandørlås og øke prosjektfleksibiliteten [9].

6. Skalerbarhet og ytelse: Microsoft.Extensions.logging er designet for å håndtere loggingsscenarier med høy ytelse effektivt. Den støtter asynkron logging og kan optimaliseres for forskjellige miljøer, noe som gjør den egnet for storstilt applikasjoner [9].

Oppsummert tilbyr Microsoft.Extensions.logging en fleksibel, skalerbar og mye støttet loggløsning som integreres godt med avhengighetsinjeksjon og forskjellige loggleverandører, noe som gjør det til et overlegen valg over MVVMCROSSs tidligere loggsystem for mange utviklingsscenarier.

Sitasjoner:
[1] https://developer.vonage.com/no/blog/adaptive-library-logging-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-ramwork
[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-edensions-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