Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 31840|Yanıt: 2

[Kaynak] Spring Cloud, tüm istek arayüz loglarını MongoDB'ye kaydeder

[Bağlantıyı kopyala]
Yayınlandı 15.08.2021 21:47:53 | | | |
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:

Spring Cloud istemci IP adresini elde eder
https://www.itsvse.com/thread-10022-1-1.html

Spring Cloud Filter, istenen içeriği ContentCachingRequestWrapper üzerinden getirir
https://www.itsvse.com/thread-10030-1-1.html

Spring Boot'un HandlerInterceptor interceptor
https://www.itsvse.com/thread-10001-1-1.html

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.

CentOS 7 kurulumu mongodb 5.0.1 eğitimi
https://www.itsvse.com/thread-10025-1-1.html

Linux, mongodb veritabanını doğru şekilde kapatıyor
https://www.itsvse.com/thread-10021-1-1.html
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)





Önceki:OpenSSL, vize belgelerinden IIS ve SLB'ye kadar yayımlanır
Önümüzdeki:.NET Eklentileri için "Dinamik Değişim"
 Ev sahibi| Yayınlandı 18.11.2021 11:14:19 |
Yanıt günlüğünü aşağıdaki şekilde kaydedin:





Yayınlandı 14.10.2022 15:19:47 |
Tam zamanında çalıştım
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com