Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross의 이전 로깅 시스템에 대한 Microsoft.extensions.logging의 이점은 무엇입니까?


MVVMCross의 이전 로깅 시스템에 대한 Microsoft.extensions.logging의 이점은 무엇입니까?


Microsoft.extensions.logging mvvmcross의 이전 로깅 시스템을 사용하면 몇 가지 이점이 있습니다.

1. 유연성 및 확장 성 : Microsoft.extensions.logging은 개발자가 Serilog, NLOG 또는 Log4Net과 같은 다양한 로깅 제공자를 사용할 수있는 추상화 계층을 제공합니다. 이 유연성은 기본 코드를 변경하지 않고 프로젝트의 요구에 따라 로깅 프레임 워크를 쉽게 교체 할 수 있음을 의미합니다. 대조적으로, MVVMCross의 이전 시스템은 다른 공급자에게 더 엄격하고 특정 구현이 필요했습니다 [1] [2].

2. 종속성 주입 지원 : Microsoft.extensions.logging은 종속성 주입 프레임 워크와 잘 통합되어 로거를 클래스에 쉽게 주입 할 수 있습니다. 이는 Mock Loggers의 생성이 벌목 동작을 확인할 수있게되므로 단위 테스트에 특히 유용합니다 [7]. MVVMCross는 또한 로깅의 종속성 주입을 지원하지만 Microsoft.extensions.logging은 다른 프레임 워크에서보다 표준화 된 접근 방식을 제공합니다 [2].

3. 안정성 및 커뮤니티 지원 : Microsoft.extensions.logging은 Microsoft와 광범위한 .NET 커뮤니티가 지원하는 널리 채택되고 안정적인 API입니다. 이 안정성은 프로젝트에 대한 장기 신뢰성을 제공하여 계속 유지되고 업데이트 될 수 있도록 보장합니다 [2] [9].

4. 단순화 된 구성 : microsoft.extensions.logging을 사용하여 AppSettings.json 또는 기타 구성 파일을 통해 구성을 관리 할 수 ​​있으며, 다른 로깅 프레임 워크에 비해 설정 프로세스를 단순화합니다. 이것은 JSON을 사용하여 구성 할 수있는 Serilog 또는 NLOG와 같은 제공자를 사용할 때 특히 유리합니다 [7].

5. 공급 업체 잠금 장치 회피 : Microsoft.extensions와 같은 추상화 계층을 사용하여 개발자는 코드를 특정 로깅 프레임 워크에 연결하지 않습니다. 이를 통해 상당한 코드 변경없이 다른 로깅 제공 업체간에 더 쉽게 전환하여 공급 업체 잠금 장치를 줄이고 프로젝트 유연성을 높일 수 있습니다 [9].

6. 확장 성 및 성능 : Microsoft.extensions.logging은 고성능 로깅 시나리오를 효율적으로 처리하도록 설계되었습니다. 비동기 로깅을 지원하고 다양한 환경에 최적화 될 수 있으므로 대규모 응용 프로그램에 적합합니다 [9].

요약하면, Microsoft.extensions.logging은 의존성 주입 및 다양한 로깅 제공자와 잘 통합되는 유연하고 확장 가능하며 널리 지원되는 로깅 솔루션을 제공하므로 많은 개발 시나리오에 대한 MVVMCross의 이전 로깅 시스템보다 우수한 선택이됩니다.

인용 :
[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-ctatic-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/upgrading-to-mvvmcross-60
[6] https://stackoverflow.com/questions/42356802/how-microsoft-extensions-logging-work-for-full-net-framework
[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-extensions-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