Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 31840|Répondre: 2

[Source] Spring Cloud enregistre tous les journaux de l’interface de requête sur MongoDB

[Copié le lien]
Publié sur 15/08/2021 21:47:53 | | | |
Dans le développement de microservices, la journalisation est une tâche très basique, enregistrant les informations de journal des requêtes de l’interface, ce qui nous aide à résoudre les problèmes et à les reproduire. Le contenu du journal comprend le lien, la méthode de requête, l’agent utilisateur, l’en-tête, l’IP actuelle de la machine microservice, le nom de la machine à nœuds, l’environnement d’exécution, l’IP du demandeur, la consommation de temps et d’autres informations.

En utilisant le bloqueur de filtres du framework Spring Cloud, vous pouvez intercepter les enregistrements d’information de requête de toutes les interfaces et faire persister les enregistrements de requête dans MongoDB.



Structure du journal d’interface

D’abord, créez un nouvel objet et définissez la structure du journal, le code est le suivant :

Filtre logarithmique

Créez un nouveau filtre RequestLoggerFilter, héritez de l’interface Filter et implémentez la méthode doFilter ; ce filtre a la priorité la plus élevée, et la priorité du filtre peut être définie via l’annotation @Order.Filtre les commits POST/PUT des logs (exclut les enregistrements de validation multipart/form-data), le code est le suivant :

Spring Cloud obtient l’adresse IP du client
https://www.itsvse.com/thread-10022-1-1.html

Spring Cloud Filter récupère le contenu demandé via le ContentCachingRequestWrapper
https://www.itsvse.com/thread-10030-1-1.html

Manipulateur de Spring BootIntercepteur
https://www.itsvse.com/thread-10001-1-1.html

Les journaux persistent vers MongoDB

Pour ne pas affecter l’utilisation normale de l’interface, le journal d’interface sera placé dans la file thread-safe, le programme ouvrira un thread, le thread consommera les données de la file, stockera les données dans MongoDB, et utilisera Maven pour introduire des dépendances.

Tutoriel d’installation mongodb 5.0.1 de CentOS 7
https://www.itsvse.com/thread-10025-1-1.html

Linux ferme correctement la base de données mongodb
https://www.itsvse.com/thread-10021-1-1.html
Pour plus d’informations sur mongodb, consultez org.springframework.boot.autoconfigure.mongo.MongoProperties

application.yml La configuration est la suivante :

Format URI : nom d’utilisateur : root, mot de passe : aaaaaaa, adresse de base de données : 127.0.0.1, numéro de port : 27017, nom de base de données : test
Par exemple : mongodb://root:aaaaaa@127.0.0.1:27017/test

SiLe nom d’utilisateur ou le mot de passe contient un symbole spécial, donc utilisez le codage de l’URL, sinon une erreur sera signalée !

Appelez MongoTemplate pour faire persister les données dans la base de données avec le code suivant :

(Fin)





Précédent:OpenSSL est déployé à partir des documents de visa vers IIS et SLB
Prochain:« Remplacement dynamique » pour les plugins .NET
 Propriétaire| Publié sur 18/11/2021 11:14:19 |
Notez le journal des réponses comme montré dans la figure suivante :





Publié sur 14/10/2022 15:19:47 |
J’ai étudié, juste à temps
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com