Při vývoji mikroslužeb je logování velmi základní úkol, který zaznamenává informace o záznamech požadavků rozhraní, což nám pomáhá řešit problémy a reprodukovat je. Obsah logu zahrnuje odkaz, metodu požadavku, useragent, hlavičku, aktuální IP mikroservisního uzlu stroje, název uzlového stroje, běžící prostředí, IP požadavače, časovou náročnost a další informace.
Pomocí blokátoru Filter v rámci Spring Cloud můžete zachytávat záznamy o požadavcích všech rozhraní a uchovávat záznamy požadavků v MongoDB.
Struktura logaritmu rozhraní
Nejprve vytvořte nový objekt a definujte strukturu logu, kód je následující:
Logaritmický filtr
Vytvořte nový filtr RequestLoggerFilter, zdědíte rozhraní Filter a implementujte metodu doFilter, tento filtr má nejvyšší prioritu a prioritu filtru lze nastavit pomocí @Order anotace.Filtruje záznamy POST/PUT commitů (s výjimkou vícečástních/formulářových datových záznamů o commitech), kód je následující:
Logy přetrvávají do MongoDB
Aby se zabránilo běžnému používání rozhraní, bude logový rozhraní vložen do fronty bezpečné pro vlákna, program otevře vlákno, vlákno spotřebuje data ve frontě, uloží data do MongoDB a použije maven k zavedení závislostí.
Pro více informací o mongodb viz org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfigurace je následující:
URI formát: uživatelské jméno: root, heslo: aaaaaaaa, adresa databáze: 127.0.0.1, číslo portu: 27017, název databáze: test Například: mongodb://root:aaaaaa@127.0.0.1:27017/test
KdyžUživatelské jméno nebo heslo obsahuje speciální symbol, proto použijte URL kódování, jinak bude hlášena chyba!
Zavolejte MongoTemplate a uchovat data do databáze pomocí následujícího kódu:
(Konec)
|