في MVVMCROSS 8 ، تم إجراء تغييرات كبيرة على نظام التسجيل. فيما يلي التغييرات الرئيسية:
1. التبديل إلى microsoft.extensions.logging: تخلى MVVMcross 8 عن واجهة التسجيل المخصصة (`imvxlog`) واعتمد إطار عمل` microsoft.extensions.logging`. يوفر هذا التغيير واجهة برمجة تطبيقات مستقرة ومدعومة على نطاق واسع ، مما يسمح بتكامل أسهل مع مختلف مقدمي تسجيل الطرف الثالث مثل Serilog [1] [10].
2. إزالة التبعية الانعكاس: على عكس الإصدار السابق ، لا يعتمد MVVMCROSS 8 بشكل مباشر على مقدمي خدمات الطرف الثالث من خلال التفكير. بدلاً من ذلك ، يستخدم واجهات "Ilogger" و "Iloggerfactory" لإدارة التسجيل ، والتي يمكن حقنها في فئات مثل ViewModels ، والخدمات ، والمستودعات [1].
3. متطلبات التنفيذ: يجب على المستخدمين الآن تنفيذ مشتقهم "MVXSetup` المشتق الخاص بهم" وتجاوز طريقتين مرتبطتين بالتسجيل: "CreateLogProvider" و "CreateLogFactory". هذا تغيير كسر من الإصدارات السابقة حيث تم توفير التطبيقات الافتراضية [4] [10].
4. التخصيص مع مقدمي الخدمات الطرف الثالث: يمكن للمستخدمين تخصيص التسجيل عن طريق تثبيت مقدمي الخدمات الثالثة مثل Serilog. يتضمن ذلك تنفيذ أساليب "CreateLogProvider" و "CreateLogFactory" في ملف `setup.cs` لتكوين serilog أو مقدمي الخدمات الآخرين [1] [4].
5. تسجيل الدخول في SCOPED: يسمح نظام التسجيل الجديد بتسجيل النطاق ، والذي يربط السجلات تلقائيًا مع سياقات محددة (على سبيل المثال ، ViewModel). هذا يجعل من السهل تصفية سجلات السجلات بناءً على مصدرها [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-material-view-log.html
[4] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvmcross-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/