Mikroservis geliştirmede, kayıt çok temel bir görevdir; arayüz isteği günlüğü bilgilerini kaydeder; bu da sorunları çözmemize ve yeniden üretmemize yardımcı olur. Günlük içeriği, bağlantı, istek yöntemi, useragent, başlık, mevcut mikroservis düğüm makinesi IP'si, düğüm makinesi adı, çalışan ortam, talep eden IP, zaman tüketimi ve diğer bilgileri içerir.
Spring Cloud framework'ün Filter engelleyicisini kullanarak, tüm arayüzlerin istek bilgi kayıtlarını ele geçirebilir ve istek kayıtlarını MongoDB'de tutabilirsiniz.
Arayüz log yapısı
Öncelikle, yeni bir nesne oluşturun ve günlüğün yapısını tanımlayın, kod şu şekildedir:
Log filtresi
Yeni bir RequestLoggerFilter filtresi oluşturun, Filtre arayüzünü devralın ve doFilter yöntemini uygulayın; bu filtre en yüksek önceliğe sahiptir ve filtre önceliği @Order açıklaması üzerinden ayarlanabilir.Filtreler POST/PUT commit'lerini kaydeder (multipart/form-veri dosya commit kayıtları hariç), kod şöyledir:
Loglar MongoDB'ye devam eder
Arayüzün normal kullanımını etkilememek için, arayüz logu iş parçacığı güvenli kuyruğa atılır, program bir iş parçacığını açar, iş parçacığı kuyruk içindeki verileri tüketir, veriyi MongoDB'de saklar ve maven kullanarak bağımlılıklar oluşturur.
Mongodb hakkında daha fazla bilgi için org.springframework.boot.autoconfigure.mongo.MongoProperties adresine bakabilirsiniz.
application.yml Konfigürasyon şöyledir:
URI formatı: kullanıcı adı: kök, şifre: aaaaaaa, veritabanı adresi: 127.0.0.1, port numarası: 27017, veritabanı adı: test Örneğin: mongodb://root:aaaaaa@127.0.0.1:27017/test
EğerKullanıcı adı veya şifre özel bir sembol içerir, bu yüzden URL kodlamasını kullanın, aksi takdirde bir hata bildirilecektir!
Aşağıdaki kodla veri veritabanına kalıcı olarak aktarmak için MongoTemplate'i çağırın:
(Son)
|