Στο MVVMCROSS 8, έγιναν σημαντικές αλλαγές στο σύστημα καταγραφής. Εδώ είναι οι βασικές αλλαγές:
1. Μεταβείτε στη Microsoft.Extensions.Logging: Το MVVMCROSS 8 εγκατέλειψε την προσαρμοσμένη διεπαφή καταγραφής (`imvxlog`) και υιοθέτησε το πλαίσιο` Microsoft.Extensions.Logging`. Αυτή η αλλαγή παρέχει ένα σταθερό και ευρέως υποστηριζόμενο API, επιτρέποντας ευκολότερη ενσωμάτωση με διάφορους παρόχους καταγραφής τρίτων όπως το 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: Το νέο σύστημα καταγραφής επιτρέπει την καταγραφή του 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-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/