În dezvoltarea microserviciilor, logarea este o sarcină foarte simplă, înregistrarea informațiilor de jurnal a cererilor interfeței, care ne ajută să rezolvăm probleme și să reproducem probleme. Conținutul jurnalului include legătura, metoda de cerere, agentul utilizatorului, antetul, IP-ul actual al mașinii de microservicii, numele mașinii nodului, mediul de rulare, IP-ul solicitantului, consumul de timp și alte informații.
Folosind Filter blocker al framework-ului Spring Cloud, poți intercepta înregistrările de informații de cerere ale tuturor interfețelor și poți persista înregistrările de cerere în MongoDB.
Structura jurnalului interfeței
Mai întâi, creează un obiect nou și definește structura jurnalului, codul este următorul:
Filtru logaritmic
Creează un nou filtru RequestLoggerFilter, moștenește interfața Filter și implementează metoda doFilter, acest filtru având cea mai mare prioritate, iar prioritatea filtrului poate fi setată prin adnotarea @Order.Filtrează commit-urile de log POST/PUT (exclud înregistrările de commit ale fișierelor multipart/form-data), codul este următorul:
Jurnalele persistă până la MongoDB
Pentru a nu afecta utilizarea normală a interfeței, jurnalul interfeței va fi plasat în coada thread-safe, programul va deschide un fir de execuție, firul va consuma datele din coadă, va stoca datele în MongoDB și va folosi maven pentru a introduce dependențe.
Pentru mai multe informații despre mongodb, vezi org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Configurația este următoarea:
Format URI: username: root, parolă: aaaaaaa, adresa bazei de date: 127.0.0.1, numărul portului: 27017, numele bazei de date: test De exemplu: mongodb://root:aaaaaa@127.0.0.1:27017/test
DacăNumele de utilizator sau parola conține un simbol special, deci folosiți codarea URL, altfel va fi raportată o eroare!
Sună MongoTemplate pentru a păstra datele în baza de date cu următorul cod:
(Sfârșit)
|