diff --git a/build.gradle b/build.gradle index a4f18f2..2da5e0c 100644 --- a/build.gradle +++ b/build.gradle @@ -69,6 +69,9 @@ dependencies { // Spring Batch implementation 'org.springframework.boot:spring-boot-starter-batch' + // Monitoring + implementation 'io.micrometer:micrometer-registry-prometheus' + } //QueryDSL 초기 설정 @@ -100,4 +103,4 @@ configurations { tasks.named('test') { useJUnitPlatform() -} +} \ No newline at end of file diff --git a/src/main/java/org/terning/terningserver/common/exception/GlobalExceptionHandler.java b/src/main/java/org/terning/terningserver/common/exception/GlobalExceptionHandler.java index eecd576..988cd6d 100644 --- a/src/main/java/org/terning/terningserver/common/exception/GlobalExceptionHandler.java +++ b/src/main/java/org/terning/terningserver/common/exception/GlobalExceptionHandler.java @@ -47,7 +47,7 @@ public ResponseEntity handleAuthException(JwtException e) { } @ExceptionHandler(Exception.class) - public ResponseEntity handleException(Exception e){ + public ResponseEntity handleException(Exception e){ log.warn("[Exception] cause: {} , message: {}", NestedExceptionUtils.getMostSpecificCause(e), e.getMessage()); ErrorMessage errorCode = ErrorMessage.INTERNAL_SERVER_ERROR; return ResponseEntity @@ -55,9 +55,8 @@ public ResponseEntity handleException(Exception e){ .body(ErrorResponse.of(errorCode.getStatus(), errorCode.getMessage())); } - //메소드가 잘못되었거나 부적합한 인수를 전달했을 경우 -> 필수 파라미터 없을 때 @ExceptionHandler(IllegalArgumentException.class) - public ResponseEntity handleIllegalArgumentException(IllegalArgumentException e){ + public ResponseEntity handleIllegalArgumentException(IllegalArgumentException e){ log.warn("[IlleagalArgumentException] cause: {} , message: {}", NestedExceptionUtils.getMostSpecificCause(e), e.getMessage()); ErrorMessage errorCode = ErrorMessage.ILLEGAL_ARGUMENT_ERROR; return ResponseEntity @@ -65,7 +64,6 @@ public ResponseEntity handleIllegalArgumentException(IllegalArgumentException e) .body(ErrorResponse.of(errorCode.getStatus(), errorCode.getMessage())); } - //@Valid 유효성 검사에서 예외가 발생했을 때 -> requestbody에 잘못 들어왔을 때 @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity handleMethodArgumentNotValidException(MethodArgumentNotValidException e){ log.warn("[MethodArgumentNotValidException] cause: {}, message: {}", NestedExceptionUtils.getMostSpecificCause(e), e.getMessage()); @@ -75,7 +73,6 @@ public ResponseEntity handleMethodArgumentNotValidException(Metho .body(ErrorResponse.of(errorCode.getStatus(), errorCode.getMessage())); } - //잘못된 포맷 요청 -> Json으로 안보내다던지 @ExceptionHandler(HttpMessageNotReadableException.class) public ResponseEntity handleHttpMessageNotReadableException(HttpMessageNotReadableException e){ log.warn("[HttpMessageNotReadableException] cause: {}, message: {}", NestedExceptionUtils.getMostSpecificCause(e), e.getMessage()); @@ -84,6 +81,7 @@ public ResponseEntity handleHttpMessageNotReadableException(HttpM .status(errorCode.getStatus()) .body(ErrorResponse.of(errorCode.getStatus(), errorCode.getMessage())); } + @ExceptionHandler(HttpRequestMethodNotSupportedException.class) public ResponseEntity handleHttpMethodException( HttpRequestMethodNotSupportedException e, @@ -95,5 +93,4 @@ public ResponseEntity handleHttpMethodException( .status(errorCode.getStatus()) .body(ErrorResponse.of(errorCode.getStatus(), errorCode.getMessage())); } -} - +} \ No newline at end of file