이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 31840|회답: 2

[출처] Spring Cloud는 모든 요청 인터페이스 로그를 MongoDB에 기록합니다

[링크 복사]
게시됨 2021. 8. 15. 오후 9:47:53 | | | |
마이크로서비스 개발에서 로깅은 매우 기본적인 작업으로, 인터페이스 요청 로그 정보를 기록하여 문제를 해결하고 재현하는 데 도움을 줍니다. 로그 내용에는 링크, 요청 방법, useragent, 헤더, 현재 마이크로서비스 노드 머신 IP, 노드 머신 이름, 실행 환경, 요청자 IP, 시간 소비 및 기타 정보가 포함됩니다.

Spring Cloud 프레임워크의 필터 블로커를 사용하면 모든 인터페이스의 요청 정보 레코드를 가로채고 MongoDB에 요청 레코드를 영속성할 수 있습니다.



인터페이스 로그 구조

먼저, 새 객체를 만들고 로그의 구조를 정의하세요. 코드는 다음과 같습니다:

로그 필터

새로운 RequestLoggerFilter 필터를 만들고 필터 인터페이스를 상속한 후 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

스프링 부츠의 핸들러 인터셉터 인터셉터
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

리눅스는 mongodb 데이터베이스를 올바르게 닫습니다
https://www.itsvse.com/thread-10021-1-1.html
mongodb에 대한 자세한 내용은 org.springframework.boot.autoconfigure.mongo.MongoProperties를 참조하세요.

application.yml 구성은 다음과 같습니다:

URI 형식: 사용자 이름: root, 비밀번호: aaaaaaa, 데이터베이스 주소: 127.0.0.1, 포트 번호: 27017, 데이터베이스명: test.
예를 들어: mongodb://root:aaaaaa@127.0.0.1:27017/test

사용자 이름이나 비밀번호에는 특별한 기호가 포함되어 있으니 URL 인코딩을 사용하세요, 그렇지 않으면 오류가 보고됩니다!

다음 코드로 MongoTemplate을 호출하여 데이터를 데이터베이스에 영제화하세요:

(끝)





이전의:OpenSSL은 비자 문서에서 IIS와 SLB로 배포됩니다
다음:.NET 플러그인용 "동적 대체"
 집주인| 게시됨 2021. 11. 18. 오전 11:14:19 |
다음 그림과 같이 응답 로그를 기록하세요:





게시됨 2022. 10. 14. 오후 3:19:47 |
나는 공부했어, 딱 맞춰
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com