No MVVMCROSS 8, foram feitas alterações significativas no sistema de registro. Aqui estão as principais mudanças:
1. Mudar para Microsoft.Extensions.Logging: MVVMcross 8 abandonou sua interface de log personalizada (`imvxlog`) e adotou a estrutura` Microsoft.Extensions.Logging`. Essa alteração fornece uma API estável e amplamente suportada, permitindo uma integração mais fácil com vários provedores de registro de terceiros, como a Serilog [1] [10].
2. Remoção da dependência de reflexão: Ao contrário da versão anterior, o MVVMCROSS 8 não depende diretamente de fornecedores de terceiros através da reflexão. Em vez disso, ele usa as interfaces `ilogger` e` iloggerFactory` para gerenciar o log, que podem ser injetadas em classes como viewmodels, serviços e repositórios [1].
3. Requisitos de implementação: Os usuários agora devem implementar explicitamente seus próprios `mvxsetup` derivados e substituir dois métodos relacionados ao log:` createLogProvider` e `createLogFactory`. Esta é uma mudança de ruptura em relação às versões anteriores em que foram fornecidas implementações padrão [4] [10].
4. Personalização com provedores de terceiros: os usuários podem personalizar o registro instalando provedores de terceiros, como a Serilog. Isso envolve a implementação dos métodos `CreateLogProvider` e` CreateLogFactory` no arquivo `setup.cs` para configurar o Serilog ou outros provedores [1] [4].
5. Loging com escopo: o novo sistema de log permite o log de escopo, que associa automaticamente logs a contextos específicos (por exemplo, um viewModel). Isso facilita o filtro de logs com base em sua fonte [1].
No geral, essas mudanças visam fornecer um sistema de registro mais flexível e padronizado no MVVMCROSS 8, alinhando -se com as práticas mais amplas do ecossistema .NET.
Citações:[1] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[2] https://www.mvvmcross.com/logging
[3] https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/alter-materialized-view-log.html
[4] https://www.mvvmcross.com/documentation/upgrining/upgrade-to-mvvmcross-80
[5] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[6] https://github.com/mvvmcross/mvvmcross/blob/devell/changelog.md
[7] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-class
[8] https://github.com/mvvmcross/mvvmcross/issues/1649
[9] https://github.com/mvvmcross/mvvmcross/releases
[10] https://www.mvvmcross.com/mvvmcross-8.0.0-release/