Inom mikrotjänstutveckling är loggning en mycket grundläggande uppgift, där man registrerar logginformation om gränssnittets begäran, vilket hjälper oss att felsöka problem och återskapa fel. Logginnehållet inkluderar länk, förfrågningsmetod, användaragent, header, aktuell mikrotjänstnod-maskin-IP, nod-maskinnamn, körmiljö, begärar-IP, tidsförbrukning och annan information.
Med hjälp av Filter blocker i Spring Cloud-ramverket kan du avlyssna förfrågningsinformationsposterna från alla gränssnitt och behålla förfrågningsposterna i MongoDB.
Gränssnittslogstruktur
Först skapar du ett nytt objekt och definierar loggens struktur, koden är följande:
Logaritmfilter
Skapa ett nytt RequestLoggerFilter-filter, ärva filtergränssnittet och implementera doFilter-metoden, detta filter har högst prioritet och filterprioriteten kan ställas in via @Order annotation.Filter loggar POST/PUT-commits (exkluderar multipart/form-data-filcommit-poster), koden är följande:
Loggar lagras i MongoDB
För att inte påverka den normala användningen av gränssnittet kommer gränssnittsloggen att läggas i trådsäker kö, programmet öppnar en tråd, tråden konsumerar data i kön, lagrar datan i MongoDB och använder Maven för att införa beroenden.
För mer information om mongodb, se org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfigurationen är som följer:
URI-format: användarnamn: root, lösenord: aaaaaaaa, databasadress: 127.0.0.1, portnummer: 27017, databasnamn: test Till exempel: mongodb://root:aaaaaa@127.0.0.1:27017/test
OmAnvändarnamnet eller lösenordet innehåller en speciell symbol, så använd URL-kodningen, annars rapporteras ett fel!
Anropa MongoTemplate för att lagra data i databasen med följande kod:
(Slut)
|