Unverified Commit 75bc0d00 by Jason Song Committed by GitHub

Merge pull request #1232 from nobodyiam/master

refactor GlobalDefaultExceptionHandler a little bit
parents 39638224 4cfbf1ed
...@@ -28,6 +28,7 @@ import java.util.Map; ...@@ -28,6 +28,7 @@ import java.util.Map;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import static org.slf4j.event.Level.*;
import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.FORBIDDEN; import static org.springframework.http.HttpStatus.FORBIDDEN;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
...@@ -50,7 +51,7 @@ public class GlobalDefaultExceptionHandler { ...@@ -50,7 +51,7 @@ public class GlobalDefaultExceptionHandler {
@ExceptionHandler({HttpRequestMethodNotSupportedException.class, HttpMediaTypeException.class}) @ExceptionHandler({HttpRequestMethodNotSupportedException.class, HttpMediaTypeException.class})
public ResponseEntity<Map<String, Object>> badRequest(HttpServletRequest request, public ResponseEntity<Map<String, Object>> badRequest(HttpServletRequest request,
ServletException ex) { ServletException ex) {
return handleError(request, BAD_REQUEST, ex, Level.WARN); return handleError(request, BAD_REQUEST, ex, WARN);
} }
@ExceptionHandler(HttpStatusCodeException.class) @ExceptionHandler(HttpStatusCodeException.class)
...@@ -68,13 +69,12 @@ public class GlobalDefaultExceptionHandler { ...@@ -68,13 +69,12 @@ public class GlobalDefaultExceptionHandler {
//处理自定义Exception //处理自定义Exception
@ExceptionHandler({AbstractApolloHttpException.class}) @ExceptionHandler({AbstractApolloHttpException.class})
public ResponseEntity<Map<String, Object>> badRequest(HttpServletRequest request, AbstractApolloHttpException ex) { public ResponseEntity<Map<String, Object>> badRequest(HttpServletRequest request, AbstractApolloHttpException ex) {
return handleError(request, ex.getHttpStatus(), ex, Level.ERROR); return handleError(request, ex.getHttpStatus(), ex);
} }
private ResponseEntity<Map<String, Object>> handleError(HttpServletRequest request, private ResponseEntity<Map<String, Object>> handleError(HttpServletRequest request,
HttpStatus status, Throwable ex) { HttpStatus status, Throwable ex) {
return handleError(request, status, ex, Level.ERROR); return handleError(request, status, ex, ERROR);
} }
private ResponseEntity<Map<String, Object>> handleError(HttpServletRequest request, private ResponseEntity<Map<String, Object>> handleError(HttpServletRequest request,
...@@ -112,24 +112,24 @@ public class GlobalDefaultExceptionHandler { ...@@ -112,24 +112,24 @@ public class GlobalDefaultExceptionHandler {
//打印日志, 其中logLevel为日志级别: ERROR/WARN/DEBUG/INFO/TRACE //打印日志, 其中logLevel为日志级别: ERROR/WARN/DEBUG/INFO/TRACE
private void printLog(String message, Throwable ex, Level logLevel) { private void printLog(String message, Throwable ex, Level logLevel) {
switch (logLevel.toString()) { switch (logLevel) {
case "ERROR": case ERROR:
logger.error(message, ex); logger.error(message, ex);
break; break;
case "WARN": case WARN:
logger.warn(message, ex); logger.warn(message, ex);
break; break;
case "DEBUG": case DEBUG:
logger.debug(message, ex); logger.debug(message, ex);
break; break;
case "INFO": case INFO:
logger.info(message, ex); logger.info(message, ex);
break; break;
case "TRACE": case TRACE:
logger.trace(message, ex); logger.trace(message, ex);
break; break;
} }
Tracer.logError(ex); Tracer.logError(ex);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment