MVVMCross 8'de günlük sisteminde önemli değişiklikler yapıldı. İşte temel değişiklikler:
1. Microsoft.extensions.logging: mvvmcross 8 özel günlüğe kaydetme arayüzünü (`` imvxlog`) terk etti ve `microsoft.extensions.logging` çerçevesini benimsedi. Bu değişiklik, Serilog [1] [10] gibi çeşitli üçüncü taraf günlüğü sağlayıcılarla daha kolay entegrasyon sağlayan istikrarlı ve yaygın olarak desteklenen bir API sağlar.
2. Yansıma bağımlılığının kaldırılması: Önceki sürümün aksine, MVVMCross 8, yansıma yoluyla doğrudan üçüncü taraf sağlayıcılara bağlı değildir. Bunun yerine, günlüğü yönetmek için ViewModels, Hizmetler ve Depolar gibi sınıflara enjekte edilebilen `` Ilogger '' ve `IloggerFactory 'arayüzlerini kullanır [1].
3. Uygulama gereksinimleri: Kullanıcılar artık kendi `mvxsetup 'türevlerini açıkça uygulamalı ve iki günlüğe bağlı yöntemi geçersiz kılmalıdır:` createlogprovider' ve 'createlogfactory'. Bu, varsayılan uygulamaların sağlandığı önceki sürümlerden gelen bir değişikliktir [4] [10].
4. Üçüncü taraf sağlayıcılarla özelleştirme: Kullanıcılar, Serilog gibi üçüncü taraf sağlayıcıları yükleyerek günlüğü özelleştirebilir. Bu, serilog veya diğer sağlayıcıları yapılandırmak için `setup.cs` dosyasında` createlogprovider` ve `createlogfactory 'yöntemlerinin uygulanmasını içerir [1] [4].
5. Scoped Logging: Yeni günlüğe kaydetme sistemi, günlükleri otomatik olarak belirli bağlamlarla (örneğin, bir ViewModel) ilişkilendiren kapsamlı günlüğe izin verir. Bu, günlükleri kaynaklarına göre filtrelemeyi kolaylaştırır [1].
Genel olarak, bu değişiklikler daha geniş .NET ekosistem uygulamalarıyla hizalanan MVVMCROSS 8'de daha esnek ve standartlaştırılmış bir günlüğe kaydetme sistemi sağlamayı amaçlamaktadır.
Alıntılar:[1] https://www.mvvmcross.com/documentation/fundament/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-ton-mvmcross-80
[5] https://www.mvvmcross.com/documentation/fundament/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/