Spring Boot에서 예외가 포함된 요청 및 응답을 중앙에서 로깅
REST API를 개발할 때 모든 요청과 응답에 대한 포괄적인 로그를 캡처하는 것이 중요합니다. , 입력 매개변수, 클래스 메소드 및 예외를 포함합니다. 이 중앙 집중식 로깅을 통해 빠른 디버깅 및 감사가 가능합니다.
모범 사례 접근 방식
Spring Boot는 이 작업을 위한 효과적이고 간단한 솔루션인 액추에이터 모듈을 제공합니다. Actuator는 기본적으로 마지막 100개의 HTTP 요청을 기록하는 엔드포인트(/trace 또는 /actuator/httptrace)를 제공합니다.
사용자 정의
모든 요청을 기록하고 엔드포인트를 맞춤화하려면 특정 요구 사항에 따라 다음을 수행할 수 있습니다.
추가 고려 사항
Heroku와 같은 다른 호스팅 제공업체는 종종 요청 로깅을 서비스로 제공하므로 사용자 정의 코드가 필요하지 않습니다.
예
Spring Boot에서 요청 및 응답 로깅을 위해 Actuator를 구성하려면 애플리케이션:
dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' } # Security configuration (optional) security { httpBasic {} headers { hsts { enabled = true maxAge = 31536000L # 1 year } } }
출력
/trace 엔드포인트는 원하는 형식과 유사한 JSON 응답을 생성합니다.
{ "timestamp": 1656211869816, "message": "Successful request", "path": "/api/users/1", "method": "GET", "status": 200, "timeTaken": 1397 }
다음의 경우 예외:
{ "timestamp": 1656211972854, "message": "UserNotFoundException: User with id 9999 not found", "path": "/api/users/9999", "method": "GET", "status": 404, "timeTaken": 2063, "exception": "UserNotFoundException", "error": "User with id 9999 not found" }
위 내용은 Spring Boot REST API 요청, 응답 및 예외를 중앙에서 어떻게 기록할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!