Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 31840|Відповідь: 2

[Джерело] Spring Cloud записує всі журнали інтерфейсу запитів у MongoDB

[Копіювати посилання]
Опубліковано 15.08.2021 21:47:53 | | | |
У розробці мікросервісів логування — це дуже базове завдання — запис інформації про журнали запитів інтерфейсу, що допомагає нам усувати проблеми та відтворювати їх. Вміст журналу включає посилання, метод запиту, useragent, заголовок, IP-адресу поточного мікросервісного вузла, ім'я машини вузла, робоче середовище, IP-адресу запитувача, споживання часу та іншу інформацію.

Використовуючи блокатор фільтрів фреймворку Spring Cloud, ви можете перехоплювати записи інформації про запити на всіх інтерфейсах і зберігати записи запитів у MongoDB.



Структура логу інтерфейсу

Спочатку створимо новий об'єкт і визначаємо структуру логарифму, код виглядає так:

Логарифмічний фільтр

Створіть новий фільтр RequestLoggerFilter, успадкуйте інтерфейс Filter і реалізуйте метод doFilter, цей фільтр має найвищий пріоритет, і пріоритет фільтра можна встановити через @Order анотацію.Фільтри логують коміти POST/PUT (виключаючи записи фіксації файлів multipart/form-data), код виглядає так:

Spring Cloud отримує IP-адресу клієнта
https://www.itsvse.com/thread-10022-1-1.html

Spring Cloud Filter отримує запитуваний контент через ContentCachingRequestWrapper
https://www.itsvse.com/thread-10030-1-1.html

Перехоплювач-перехоплювач Spring Boot
https://www.itsvse.com/thread-10001-1-1.html

Журнали зберігаються до MongoDB

Щоб не вплинути на нормальне використання інтерфейсу, журнал інтерфейсу буде потрапляти в чергу для безпеки потоків, програма відкриває потік, потік споживатиме дані в черзі, зберігатиме дані в MongoDB і використовує maven для введення залежностей.

Інсталяція CentOS 7 mongodb 5.0.1 — туторіал
https://www.itsvse.com/thread-10025-1-1.html

Linux правильно закриває базу даних mongodb
https://www.itsvse.com/thread-10021-1-1.html
Для отримання додаткової інформації про mongodb див. org.springframework.boot.autoconfigure.mongo.MongoProperties

application.yml Конфігурація виглядає так:

Формат URI: ім'я користувача: root, пароль: aaaaaaaa, адреса бази даних: 127.0.0.1, номер порту: 27017, ім'я бази даних: test
Наприклад: mongodb://root:aaaaaa@127.0.0.1:27017/test

ЯкщоІм'я користувача або пароль містить спеціальний символ, тому використовуйте кодування URL, інакше буде повідомлено про помилку!

Викликайте MongoTemplate для збереження даних у базі даних за допомогою наступного коду:

(Кінець)





Попередній:OpenSSL розгортається з візових документів до IIS та SLB
Наступний:«Динамічна заміна» для .NET плагінів
 Орендодавець| Опубліковано 18.11.2021 11:14:19 |
Запишіть журнал відповідей, як показано на наступному рисунку:





Опубліковано 14.10.2022 15:19:47 |
Я вчився, якраз вчасно
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com