Pri razvoju mikroservisov je beleženje zelo osnovna naloga, saj beležimo podatke o logu zahtev na vmesniku, kar nam pomaga pri odpravljanju težav in pri reprodukciji težav. Vsebina dnevnika vključuje povezavo, metodo zahteva, useragent, glavo, trenutni IP mikroservisnega stroja na vozlišču, ime stroja vozlišča, tekoče okolje, IP zahtevnika, porabo časa in druge informacije.
Z uporabo blokatorja Filter v okviru Spring Cloud lahko prestrežete zapise o zahtevkih vseh vmesnikov in jih ohranite v MongoDB.
Struktura vmesniškega loga
Najprej ustvarite nov objekt in določite strukturo dnevnika, koda je naslednja:
Logaritamski filter
Ustvarite nov filter RequestLoggerFilter, podedujte vmesnik Filter in implementirajte metodo doFilter, ta filter ima najvišjo prioriteto, prioriteto filtra pa je mogoče nastaviti preko @Order anotacije.Filtrira beleženje POST/PUT commitov (izključuje zapise o večdelnih/form-data datotekah), koda je naslednja:
Dnevniki ostajajo v MongoDB
Da ne bi vplivali na običajno uporabo vmesnika, se vmesniški dnevnik vključi v varno vrsto za niti, program odpre nit, nit porabi podatke v vrsti, shrani podatke v MongoDB in uporabi maven za uvajanje odvisnosti.
Za več informacij o mongodb glejte org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfiguracija je naslednja:
URI format: uporabniško ime: root, geslo: aaaaaa, naslov baze podatkov: 127.0.0.1, številka vrat: 27017, ime baze podatkov: test Na primer: mongodb://root:aaaaaa@127.0.0.1:27017/test
ČeUporabniško ime ali geslo vsebuje poseben simbol, zato uporabite URL kodiranje, sicer bo napaka prijavljena!
Pokličite MongoTemplate, da podatke shranite v bazo podatkov z naslednjo kodo:
(Konec)
|