В MVVMcross 8 были внесены значительные изменения в систему журнала. Вот ключевые изменения:
1. Переключитесь на Microsoft.extensions.Logging: MVVMcross 8 отказался от своего пользовательского интерфейса журнала (`imvxlog`) и принял платформу` microsoft.extensions.logging`. Это изменение обеспечивает стабильный и широко поддерживаемый API, что позволяет легче интегрировать с различными сторонними поставщиками журнала, такими как Serilog [1] [10].
2. Удаление зависимости отражения: в отличие от предыдущей версии, MVVMcross 8 не зависит от сторонних поставщиков посредством отражения. Вместо этого он использует интерфейсы `ilogger` и` iloggerfactory` для управления ведением ведения журнала, которые могут быть введены в такие классы, как ViewModels, Services и Repositories [1].
3. Требования к реализации: теперь пользователи должны явно реализовать свою собственную производную `mvxsetup` и переопределять два метода, связанные с ведением ведения журнала:` createLogProvider` и `createLogfactory`. Это нарушающее изменение от предыдущих версий, в которых были предоставлены реализации по умолчанию [4] [10].
4. Настройка со сторонними поставщиками: пользователи могут настроить журнал, установив сторонних поставщиков, таких как Serilog. Это включает в себя реализацию методов `createlogprovider` и` createLogFactory` в файле `setup.cs` для настройки Serilog или других поставщиков [1] [4].
5. Регистрация в области Это облегчает фильтровать журналы на основе их источника [1].
В целом, эти изменения направлены на предоставление более гибкой и стандартизированной системы ведения журнала в MVVMcross 8, соответствующей более широкой экосистемной практике .NET.
Цитаты:[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/upgrading/upgrade-to-mvvmcross-80
[5] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[6] https://github.com/mvvmcross/mvvmcross/blob/develop/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/