Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 31840|Отговор: 2

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

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

Използвайки Filter blocker на фреймуърка Spring Cloud, можете да прихващате записите с информация за заявки на всички интерфейси и да запазите записите за заявки в MongoDB.



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

Първо, създайте нов обект и дефинирайте структурата на лога, кодът е следният:

Лог филтър

Създайте нов филтър RequestLoggerFilter, наследете интерфейса Filter и имплементирайте метода doFilter, този филтър има най-висок приоритет и приоритетът на филтъра може да се задава чрез @Order анотация.Филтрират лог на POST/PUT commit записи (изключва многочастни/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

Прехващач Прехващач на Пружин Бут
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, парола: aaaaaa, адрес на базата данни: 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