전역 예외 처리

로그 레벨 기준

로그 레벨 별 logging form

private void logDebug(HttpServletRequest request, Exception e) {
	log.debug("[EXCEPTION] REQUEST_URI       -----> [{}]", request.getRequestURI());
	log.debug("[EXCEPTION] HTTP_METHOD_TYPE  -----> [{}]", request.getMethod());
	log.debug("[EXCEPTION] EXCEPTION_TYPE    -----> [{}]", e.getClass().getSimpleName());
	log.debug("[EXCEPTION] EXCEPTION_MESSAGE -----> [{}]", MessageUtil.getMessage(e.getMessage()));
	log.debug("[EXCEPTION]                   -----> ", e);
}

private void logWarn(Exception e) {
	log.warn("[EXCEPTION] EXCEPTION_TYPE    -----> [{}]", e.getClass().getSimpleName());
	log.warn("[EXCEPTION] EXCEPTION_MESSAGE -----> [{}]", MessageUtil.getMessage(e.getMessage()));
	log.warn("[EXCEPTION]                   -----> ", e);
}

private void logError(Exception e) {
	log.error("[EXCEPTION] EXCEPTION_TYPE    -----> [{}]", e.getClass().getSimpleName());
	log.error("[EXCEPTION] EXCEPTION_MESSAGE -----> [{}]", MessageUtil.getMessage(e.getMessage()));
	log.error("[EXCEPTION]                   -----> ", e);
}

공통 에러 응답

public record ErrorResponse(String status, String message) {
	public static ErrorResponse of(String status, String message) {
		return new ErrorResponse(status, message);
	}
}

BAD REQUEST 400

INTERNAL SERVER ERROR 500