Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvad er fordelene ved at bruge microsoft.extensions.logging over MVVMCross's tidligere loggingssystem


Hvad er fordelene ved at bruge microsoft.extensions.logging over MVVMCross's tidligere loggingssystem


Brug af Microsoft.Extensions.Logging over MVVMCross's tidligere loggingssystem giver flere fordele:

1. fleksibilitet og udvidelighed: Microsoft.Extensions.Logging giver et abstraktionslag, der giver udviklere mulighed for at bruge forskellige loggingudbydere såsom Serilog, NLOG eller LOG4NET. Denne fleksibilitet betyder, at logningsrammen let kan udskiftes afhængigt af projektets behov uden at ændre den underliggende kode. I modsætning hertil var MVVMCROSS 'tidligere system mere stiv og krævede specifikke implementeringer for forskellige udbydere [1] [2].

2. afhængighedsinjektionsstøtte: Microsoft.Extensions.Logging integreres godt med afhængighedsinjektionsrammer, hvilket gør det lettere at injicere loggere i klasser. Dette er især nyttigt til enhedstest, da det giver mulighed for oprettelse af spottede loggere til at verificere loggingsadfærd [7]. MVVMCROSS understøtter også afhængighedsinjektion til logning, men ved hjælp af Microsoft.Extensions.Logging giver en mere standardiseret tilgang på tværs af forskellige rammer [2].

3. Stabilitet og samfundsstøtte: Microsoft.Extensions.Logging er en bredt vedtaget og stabil API, understøttet af Microsoft og det bredere .NET -samfund. Denne stabilitet sikrer, at den fortsat opretholdes og opdateres, hvilket giver langsigtet pålidelighed for projekter [2] [9].

4. Forenklet konfiguration: Med Microsoft.Extensions.Logging kan konfiguration styres via AppSettings.json eller andre konfigurationsfiler, som forenkler installationsprocessen sammenlignet med nogle andre loggingsrammer. Dette er især fordelagtigt, når man bruger udbydere som Serilog eller Nlog, som kan konfigureres ved hjælp af JSON [7].

5. Undgåelse af leverandørlock-in: Ved at bruge et abstraktionslag som Microsoft.Extensions.Logging undgår udviklere at binde deres kode til en bestemt logningsramme. Dette gør det lettere at skifte mellem forskellige loggeleverandører uden betydelige kodeændringer, hvilket reducerer leverandørlock-in og øger projektfleksibiliteten [9].

6. Skalerbarhed og ydeevne: Microsoft.Extensions.Logging er designet til at håndtere højtydende loggingsscenarier effektivt. Det understøtter asynkron logging og kan optimeres til forskellige miljøer, hvilket gør det velegnet til store applikationer [9].

Sammenfattende tilbyder Microsoft.Extensions.Logging en fleksibel, skalerbar og bredt understøttet logningsløsning, der integrerer godt med afhængighedsinjektion og forskellige loggingudbydere, hvilket gør det til et overlegent valg over MVVMCross's tidligere loggingssystem for mange udviklingsscenarier.

Citater:
[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
)
[7] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nlog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-lass
[9] https://blog.stephencleary.com/2018/05/microsoft-extensions-logging-dart-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