Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 31840|Ответ: 2

[Источник] Spring Cloud записывает все логи интерфейса запросов в MongoDB

[Скопировать ссылку]
Опубликовано 15.08.2021 21:47:53 | | | |
В разработке микросервисов логирование — это очень простая задача: запись информации о запросах журналов интерфейса, что помогает нам выявлять проблемы и воспроизводить их. Содержимое журнала включает ссылку, метод запроса, useragent, заголовок, IP текущего микросервисного узла, имя машины узла, рабочую среду, IP запросчика, потребление времени и другую информацию.

Используя блокировщик фильтров фреймворка Spring Cloud, вы можете перехватить записи информации о запросах всех интерфейсов и сохранить записи запросов в MongoDB.



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

Сначала создаём новый объект и определяем структуру логарифма, код выглядит следующим образом:

Логарифмический фильтр

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

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, пароль: aaaaaaaaa, адрес базы данных: 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