Pri vývoji mikroslužieb je logovanie veľmi základnou úlohou, ktorá zaznamenáva informácie o logovaní požiadaviek na rozhranie, čo nám pomáha riešiť problémy a reprodukovať ich. Obsah logu obsahuje odkaz, metódu požiadavky, useragent, hlavičku, aktuálnu IP adresu mikroservisného stroja, názov stroja uzla, bežiace prostredie, IP žiadateľa, časovú spotrebu a ďalšie informácie.
Použitím blokátora filtra v rámci Spring Cloud môžete zachytiť záznamy o požiadavkách všetkých rozhraní a uchovávať záznamy požiadaviek v MongoDB.
Štruktúra logu rozhrania
Najprv vytvorte nový objekt a definujte štruktúru logu, kód je nasledovný:
Logaritmický filter
Vytvorte nový filter RequestLoggerFilter, zdedíte rozhranie Filter a implementujte metódu doFilter, tento filter má najvyššiu prioritu a prioritu filtra je možné nastaviť pomocou @Order anotácie.Filtruje zaznamenávanie POST/PUT commitov (s výnimkou multipart/form-data commit záznamov), kód je nasledovný:
Záznamy pretrvávajú v MongoDB
Aby sa neovplyvnilo bežné používanie rozhrania, log rozhrania sa vloží do fronty bezpečnej pre vlákna, program otvorí vlákno, vlákno spotrebuje dáta vo fronte, uloží dáta do MongoDB a použije maven na zavedenie závislostí.
Pre viac informácií o mongodb pozri org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfigurácia je nasledovná:
URI formát: používateľské meno: root, heslo: aaaaaaaa, adresa databázy: 127.0.0.1, číslo portu: 27017, názov databázy: test Napríklad: mongodb://root:aaaaaa@127.0.0.1:27017/test
AkPoužívateľské meno alebo heslo obsahuje špeciálny symbol, preto použite URL kódovanie, inak bude nahlásená chyba!
Zavolajte MongoTemplate, aby ste uchovávali dáta do databázy s nasledujúcim kódom:
(Koniec)
|