A mikroszolgáltatásfejlesztésben a naplózás egy nagyon alapvető feladat, amely interfész kérelmi naplóinak rögzítése, ami segít hibakeresésben és problémák reprodukciójában. A napló tartalma tartalmazza a linket, kérés módszert, useragentet, fejlécét, az aktuális mikroszolgáltatási csomópont gép IP-címét, a csomópont gépnevét, futó környezetét, kérő IP-címét, időigényét és egyéb információkat.
A Spring Cloud keretrendszer szűrőblokkolójával elfoghatod az összes interfész request information recordjait, és megőrizheted azokat a kérési rekordokat a MongoDB-ben.
Interfész napló szerkezete
Először hozz létre egy új objektumot és definiáljuk a napló szerkezetét, a kód a következő:
Log szűrő
Hozz létre egy új RequestLoggerFilter szűrőt, örököljük a Filter interfészt, és valósítsuk meg a doFilter metódust, ez a szűrő a legmagasabb prioritású, és a szűrő prioritása a @Order annotáción keresztül állítható.A szűrők naplózzák a POST/PUT commit-eket (kivéve a multipart/form-data fájl commit rekordokat), a kód a következő:
Logs persist to MongoDB
Annak érdekében, hogy ne befolyásolja az interfész normál használatát, az interfésznaplót a szál-biztonságos sorba dobják, a program megnyit egy szálat, a szál elfogyasztja a sorban lévő adatokat, tárolja az adatokat a MongoDB-ben, és a maven-t használja függőségek bevezetésére.
További információért a mongodb-ról lásd: org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml A konfiguráció a következő:
URI formátum: felhasználónév: gyökér, jelszó: aaaaaaa, adatbázis cím: 127.0.0.1, port szám: 27017, adatbázis neve: teszt Például: mongodb://root:aaaaaa@127.0.0.1:27017/test
HaA felhasználónév vagy jelszó egy speciális szimbólumot tartalmaz, ezért használd az URL kódolást, különben hibát jelentenek!
Hívjuk a MongoTemplate-t, hogy az alábbi kóddal rögzítse az adatokat az adatbázisba:
(Vége)
|