Στην ανάπτυξη μικροϋπηρεσιών, η καταγραφή είναι μια πολύ βασική εργασία, η καταγραφή πληροφοριών καταγραφής αιτημάτων διεπαφής, η οποία μας βοηθά στην αντιμετώπιση προβλημάτων και στην αναπαραγωγή προβλημάτων. Το περιεχόμενο του αρχείου καταγραφής περιλαμβάνει τον σύνδεσμο, τη μέθοδο αιτήματος, τον παράγοντα χρήστη, την κεφαλίδα, την τρέχουσα IP μηχανής κόμβου μικροϋπηρεσίας, το όνομα του μηχανήματος κόμβου, το περιβάλλον λειτουργίας, την IP του αιτούντος, την κατανάλωση χρόνου και άλλες πληροφορίες.
Χρησιμοποιώντας το πρόγραμμα αποκλεισμού φίλτρων του πλαισίου Spring Cloud, μπορείτε να υποκλέψετε τις εγγραφές πληροφοριών αιτήματος όλων των διεπαφών και να διατηρήσετε τις εγγραφές αιτήσεων στο MongoDB.
Δομή αρχείου καταγραφής διεπαφής
Αρχικά, δημιουργήστε ένα νέο αντικείμενο και ορίστε τη δομή του αρχείου καταγραφής, ο κώδικας έχει ως εξής:
Φίλτρο καταγραφής
Δημιουργήστε ένα νέο φίλτρο RequestLoggerFilter, κληρονομήστε τη διεπαφή φίλτρου και εφαρμόστε τη μέθοδο doFilter, αυτό το φίλτρο έχει την υψηλότερη προτεραιότητα και η προτεραιότητα φίλτρου μπορεί να οριστεί μέσω του σχολιασμού @Order.Φίλτρα καταγραφής υποβολών POST/PUT (εξαιρούνται οι εγγραφές υποβολής αρχείων πολλαπλών τμημάτων/form-data), ο κωδικός έχει ως εξής:
Τα αρχεία καταγραφής παραμένουν στο MongoDB
Για να μην επηρεαστεί η κανονική χρήση της διεπαφής, το αρχείο καταγραφής διεπαφής θα απορριφθεί στην ουρά ασφαλούς νήματος, το πρόγραμμα θα ανοίξει ένα νήμα, το νήμα θα καταναλώσει τα δεδομένα στην ουρά, θα αποθηκεύσει τα δεδομένα στο MongoDB και θα χρησιμοποιήσει το maven για την εισαγωγή εξαρτήσεων.
Για περισσότερες πληροφορίες σχετικά με το mongodb, ανατρέξτε στο org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Η διαμόρφωση έχει ως εξής:
Μορφή URI: όνομα χρήστη: root, κωδικός πρόσβασης: aaaaaaaa, διεύθυνση βάσης δεδομένων: 127.0.0.1, αριθμός θύρας: 27017, όνομα βάσης δεδομένων: δοκιμή Για παράδειγμα: mongodb://root:aaaaaa@127.0.0.1:27017/test
ΑνΤο όνομα χρήστη ή ο κωδικός πρόσβασης περιέχει ένα ειδικό σύμβολο, επομένως χρησιμοποιήστε την κωδικοποίηση URL, διαφορετικά θα αναφερθεί σφάλμα!
Καλέστε το MongoTemplate για να διατηρήσετε δεδομένα στη βάση δεδομένων με τον ακόλουθο κώδικα:
(Τέλος)
|