I mikroserviceudvikling er logging en meget grundlæggende opgave, hvor man registrerer loggdata om interfaceanmodninger, hvilket hjælper os med at fejlfinde problemer og hjælpe med at reproducere problemer. Logindholdet inkluderer link, anmodningsmetode, brugeragent, header, aktuel microservice-nodemaskines IP, nodemaskinens navn, kørende miljø, anmodnings-IP, tidsforbrug og anden information.
Ved at bruge Filter Blocker fra Spring Cloud-frameworket kan du opsnappe anmodningsinformationsposterne fra alle interfaces og bevare anmodningsrecords i MongoDB.
Grænsefladelogstruktur
Først opretter du et nyt objekt og definerer logens struktur, koden er som følger:
Log-filter
Opret et nyt RequestLoggerFilter-filter, arv filterinterfacet, og implementer doFilter-metoden; dette filter har højeste prioritet, og filterprioriteten kan sættes via @Order-annotationen.Filtre logger POST/PUT-commits (ekskluderer multipart/form-data fil-commit-poster), koden er som følger:
Logfiler lagres i MongoDB
For ikke at påvirke den normale brug af interfacet, vil interfaceloggen blive lagt i tråd-sikker kø, programmet åbner en tråd, tråden forbruger dataene i køen, gemmer dataene i MongoDB og bruger Maven til at introducere afhængigheder.
For mere information om mongodb, se org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfigurationen er som følger:
URI-format: brugernavn: root, adgangskode: aaaaaaaa, databaseadresse: 127.0.0.1, portnummer: 27017, databasenavn: test For eksempel: mongodb://root:aaaaaa@127.0.0.1:27017/test
HvisBrugernavnet eller adgangskoden indeholder et særligt symbol, så brug URL-kodningen, ellers vil der blive rapporteret en fejl!
Kald MongoTemplate for at lagre data i databasen med følgende kode:
(Slut)
|