Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kokie yra „Microsoft.Extensions.Logging“ naudos pranašumai, palyginti su ankstesne „MVVMCross“ registravimo sistema


Kokie yra „Microsoft.Extensions.Logging“ naudos pranašumai, palyginti su ankstesne „MVVMCross“ registravimo sistema


Naudojant „Microsoft.Extensions.Gloging Over Mvvmcross“ ankstesnę registravimo sistemą, siūlo keletą privalumų:

1. Šis lankstumas reiškia, kad registravimo sistemą galima lengvai pakeisti atsižvelgiant į projekto poreikius, nekeičiant pagrindinio kodo. Priešingai, ankstesnė MVVMCROSS sistema buvo griežtesnė ir jiems reikėjo specifinių įgyvendinimų skirtingiems teikėjams [1] [2].

2. Priklausomybės injekcijos palaikymas: „Microsoft.Extensions.Glogging“ gerai integruojama su priklausomybės injekcijos sistemomis, todėl lengviau švirkšti logininkus į klases. Tai ypač naudinga atliekant vienetų testavimą, nes tai leidžia sukurti „Mock“ medienos ruošos kūrimą, kad būtų galima patikrinti medienos ruošos elgseną [7]. „MVVMCross“ taip pat palaiko priklausomybės injekciją registravimui, tačiau naudojant „Microsoft.extensions.logging“ suteikia labiau standartizuotą požiūrį įvairiose sistemose [2].

3. Stabilumas ir bendruomenės palaikymas: „Microsoft.Extensions.Glogging“ yra plačiai priimta ir stabili API, palaikoma „Microsoft“ ir platesnės .NET bendruomenės. Šis stabilumas užtikrina, kad jis ir toliau bus išlaikytas ir atnaujinamas, suteikdamas ilgalaikį projektų patikimumą [2] [9].

4. Supaprastinta konfigūracija: naudojant „Microsoft.Extensions.Grogging“, konfigūraciją galima valdyti naudojant „AppSettings.json“ ar kitus konfigūracijos failus, o tai supaprastina sąrankos procesą, palyginti su kai kuriais kitais registravimo sistemomis. Tai ypač naudinga naudojant tokius teikėjus kaip „Serilog“ ar „NLOG“, kuriuos galima sukonfigūruoti naudojant JSON [7].

5. Pardavėjo užrakto vengimas: Naudodamiesi abstrakcijos sluoksniu, tokiu kaip „Microsoft.Extensions.Glogging“, kūrėjai vengia susieti savo kodą prie konkrečios registravimo sistemos. Tai leidžia lengviau perjungti skirtingus medienos ruošos paslaugų teikėjus be reikšmingų kodo pakeitimų, mažinant pardavėjo užraktą ir didinant projekto lankstumą [9].

6. Mastelio keitimas ir našumas: „Microsoft.Extensions.Glogging“ yra skirtas efektyviai tvarkyti didelio našumo registravimo scenarijus. Jis palaiko asinchroninį registravimą ir gali būti optimizuotas skirtingoms aplinkoms, todėl jis yra tinkamas didelio masto programoms [9].

Apibendrinant galima pasakyti, kad „Microsoft.Extensions.logging“ siūlo lankstus, keičiamas ir plačiai palaikomas medienos ruošos sprendimas, kuris gerai integruoja su priklausomybės injekcija ir įvairiais medienos ruošos teikėjais, todėl tai yra puikus pasirinkimas, palyginti su ankstesne „MVVMCross“ registravimo sistema, skirta daugeliui kūrimo scenarijų.

Citatos:
[1] https://developer.vonage.com/en/blog/adaptive-library-gogging-with-microsoft-axtensions-gogging-dr
[2] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[3] https://stackoverflow.com/questions/46483019/logging-from-tatic-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-gogging-work-for-full-netframework
[7] https://stackoverflow.com/questions/58209076/microsoft-extensions-gogging-vs-nlog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-gogging-setup-lass
[9] https://blog.stephencleary.com/2018/05/microsoft-extensions-gogging-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