Dalam pengembangan layanan mikro, pencatatan adalah tugas yang sangat mendasar, merekam informasi log permintaan antarmuka, yang membantu kami memecahkan masalah dan membantu mereproduksi masalah. Konten log mencakup tautan, metode permintaan, agen pengguna, header, IP mesin simpul layanan mikro saat ini, nama mesin simpul, lingkungan yang berjalan, IP pemohon, konsumsi waktu, dan informasi lainnya.
Dengan menggunakan pemblokir filter kerangka kerja Spring Cloud, Anda dapat mencegat catatan informasi permintaan dari semua antarmuka dan mempertahankan catatan permintaan di MongoDB.
Struktur log antarmuka
Pertama, buat objek baru dan tentukan struktur log, kodenya adalah sebagai berikut:
Filter log
Buat filter RequestLoggerFilter baru, warisi antarmuka Filter, dan terapkan metode doFilter, filter ini memiliki prioritas tertinggi, dan prioritas filter dapat diatur melalui anotasi @Order.Filter log commit POST/PUT (tidak termasuk catatan commit file multipart/form-data), kodenya adalah sebagai berikut:
Log tetap ada di MongoDB
Agar tidak memengaruhi penggunaan normal antarmuka, log antarmuka akan dijatuhkan ke dalam antrean aman utas, program akan membuka utas, utas akan menggunakan data dalam antrean, menyimpan data di MongoDB, dan menggunakan maven untuk memperkenalkan dependensi.
Untuk informasi selengkapnya tentang mongodb, lihat org.springframework.boot.autoconfigure.mongo.MongoProperties
application.yml Konfigurasinya adalah sebagai berikut:
Format URI: nama pengguna: root, kata sandi: aaaaaaa, alamat database: 127.0.0.1, nomor port: 27017, nama database: test Misalnya: mongodb://root:aaaaaa@127.0.0.1:27017/test
KalauNama pengguna atau kata sandi berisi simbol khusus, jadi gunakan pengkodean URL, jika tidak, kesalahan akan dilaporkan!
Panggil MongoTemplate untuk mempertahankan data ke dalam database dengan kode berikut:
(Akhir)
|