Mikropalvelukehityksessä lokitus on hyvin perustason tehtävä, joka tallentaa käyttöliittymäpyyntölokitietoja, mikä auttaa meitä ongelmien selvittämisessä ja ongelmien toistamisessa. Lokisisältöön kuuluu linkki, pyyntömenetelmä, käyttäjäagentti, otsikko, nykyinen mikropalvelusolmun koneen IP-osoite, solmun koneen nimi, juokseva ympäristö, pyytäjän IP-osoite, ajankulutus ja muuta tietoa.
Spring Cloud -kehyksen suodattimen estäjän avulla voit siepata kaikkien rajapintojen pyyntötietotietueet ja säilyttää pyyntötietueet MongoDB:ssä.
Rajapinnan lokirakenne
Ensiksi luo uusi objekti ja määrittele lokin rakenne, koodi on seuraava:
Logarit-suodatin
Luo uusi RequestLoggerFilter-suodatin, peri suodatinrajapinta ja toteuta doFilter-metodi, tällä suodattimella on korkein prioriteetti, ja suodattimen prioriteetti voidaan asettaa @Order annotaatiolla.Suodattimet kirjaavat POST/PUT-commitit (pois lukien moniosaiset/form-data-tiedostojen sitoutumistietueet), koodi on seuraava:
Lokitiedostot säilyvät MongoDB:ssä
Jotta rajapinnan normaali käyttö ei vaikuttaisi, rajapinnan loki pudotetaan säiketurvalliseen jonoon, ohjelma avaa säikeen, säie käyttää jonon datan, tallentaa tiedot MongoDB:hen ja käyttää mavenia riippuvuuksien lisäämiseen.
Lisätietoja mongoDB:stä löytyy osoitteesta org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfiguraatio on seuraava:
URI-muoto: käyttäjätunnus: juuri, salasana: aaaaaaa, tietokanta-osoite: 127.0.0.1, porttinumero: 27017, tietokannan nimi: testi Esimerkiksi: mongodb://root:aaaaaa@127.0.0.1:27017/test
JosKäyttäjätunnuksessa tai salasanassa on erityinen symboli, joten käytä URL-koodausta, muuten virhe raportoidaan!
Kutsu MongoTemplate, jotta tiedot pysyvät tietokantaan seuraavalla koodilla:
(Loppu)
|