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);
}
}
MethodArgumentNotValidException
{
"status" : "BAD_REQUEST",
"message" : "잘못된 데이터입니다."
}
MissingRequestValueException
{
"status" : "BAD_REQUEST",
"message" : "데이터가 충분하지 않습니다."
}
HttpRequestMethodNotSupportedException
{
"status" : "BAD_REQUEST",
"message" : "잘못된 요청입니다."
}
NoHandlerFoundException
{
"status" : "BAD_REQUEST",
"message" : "잘못된 uri 입니다."
}
EntityNotFoundException
{
"status" : "BAD_REQUEST",
"message" : // e.getMessage()
}
IllegalArgumentException
{
"status" : "BAD_REQUEST",
"message" : // e.getMessage()
}
IllegalStateException
{
"status" : "INTERNAL_SERVER_ERROR",
"message" : // e.getMessage()
}