Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quais são os benefícios de usar Microsoft.Extensions.Logging sobre o mvxlog em mvvmcross


Quais são os benefícios de usar Microsoft.Extensions.Logging sobre o mvxlog em mvvmcross


Ao comparar o Microsoft.Extensions.Logging com o MVXLog no contexto do MVVMcross, vários benefícios emergem de usar o primeiro sobre o último:

1. Extensibilidade e flexibilidade: Microsoft.Extensions.Logging oferece uma estrutura altamente extensível que permite fácil integração com vários provedores de registro de terceiros, como NLOG, Serilog e Log4Net. Essa flexibilidade não é inerentemente incorporada ao mvxlog, que foi mais limitada em sua capacidade de se integrar a diferentes estruturas de registro [1] [2]. Com o Microsoft.Extensions.Logging, você pode alternar facilmente entre diferentes provedores de registro sem alterar o código do seu aplicativo, tornando -o mais adaptável a diferentes ambientes e requisitos.

2. Suporte à injeção de dependência: Microsoft.Extensions.Logging foi projetado para funcionar perfeitamente com a injeção de dependência (DI), que é uma característica central de muitas aplicações modernas .NET, incluindo aquelas construídas com MVVMcross. Essa integração permite um teste de unidade mais fácil e zombaria dos componentes de registro, o que é benéfico para manter a cobertura robusta do teste [5] [8]. O MVXLog, embora injetável, não oferece o mesmo nível de integração com as estruturas DI que Microsoft.Extensions.Logging.

3. Padronização e suporte da comunidade: Microsoft.Extensions.Logging é um padrão amplamente adotado no ecossistema .NET, o que significa que se beneficia de amplo apoio e documentação da comunidade. Essa padronização facilita para os desenvolvedores entender e implementar o log em diferentes projetos e plataformas [2] [11]. Por outro lado, o mvxlog é específico para o MVVMcross e pode não ser tão amplamente reconhecido ou suportado fora dessa estrutura.

4. Escalabilidade e desempenho: a arquitetura do Microsoft.Extensions.Logging foi projetada para lidar com aplicativos em larga escala com eficiência. Ele fornece recursos como filtragem e categorização de toras, que podem melhorar o desempenho, reduzindo a saída desnecessária de log [11]. Embora o mvxlog seja capaz, ele pode não corresponder às otimizações de escalabilidade e desempenho disponíveis no Microsoft.Extensions.Logging.

5. Flexibilidade da configuração: Microsoft.Extensions.Logging permite a configuração por vários meios, incluindo arquivos JSON (por exemplo, `AppSsetstings.json`), que fornece uma maneira flexível de gerenciar configurações de log sem recompilar o aplicativo [5]. Essa flexibilidade é particularmente útil em ambientes em que as necessidades de registro podem mudar com frequência.

6. Níveis de log e gravidade: Ambas as estruturas suportam vários níveis de log (por exemplo, rastreamento, depuração, informações, aviso, erro), mas microsoft.extensions.logging inclui um nível `crítico` e um nível 'não' para fins de configuração [11]. Isso fornece um controle mais granular sobre a gravidade e a configuração do registro.

Em resumo, enquanto o mvxlog é uma solução de log capaz no ecossistema MVVMCROSS, Microsoft.Extensions.Logging oferece compatibilidade, extensibilidade e suporte da comunidade mais amplos, tornando -a uma opção mais versátil para necessidades de registro nas aplicações modernas .NET.

Citações:
[1] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[2] https://putridparrot.com/blog/using-microsoft-extensions-logging/
[3] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[4] https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/extensions-logging
[5] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nlog
[6] https://www.mvvmcross.com/mvvmcross-8.0.0-release/
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://stackoverflow.com/questions/46483019/logging-from-tatic-members-with-microsoft-extensions-logging
[9] https://www.mvvmcross.com/logging
[10] https://stackoverflow.com/questions/17602137/mvvmcross-how-does-this-view-get-linked-to-tiewmodel/17602246
[11] https://blog.stephencleary.com/2018/06/microsoft-extensions-logging-part-2-types.html