Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 31840|Răspunde: 2

[Sursă] Spring Cloud înregistrează toate jurnalele interfeței cererilor în MongoDB

[Copiază linkul]
Postat pe 15.08.2021 21:47:53 | | | |
Î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:

Spring Cloud obține adresa IP a clientului
https://www.itsvse.com/thread-10022-1-1.html

Spring Cloud Filter preia conținutul solicitat prin ContentCachingRequestWrapper
https://www.itsvse.com/thread-10030-1-1.html

Handler-ul lui Spring BootInterceptor interceptor
https://www.itsvse.com/thread-10001-1-1.html

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.

Tutorial pentru instalarea mongodb 5.0.1 a CentOS 7
https://www.itsvse.com/thread-10025-1-1.html

Linux închide corect baza de date mongoDB
https://www.itsvse.com/thread-10021-1-1.html
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)





Precedent:OpenSSL este implementat din documentele de viză către IIS și SLB
Următor:"Înlocuire dinamică" pentru pluginurile .NET
 Proprietarul| Postat pe 18.11.2021 11:14:19 |
Înregistrați jurnalul de răspunsuri așa cum este prezentat în figura următoare:





Postat pe 14.10.2022 15:19:47 |
Am studiat, exact la timp
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com