【功能优化】全局:简化 GlobalExceptionHandler 对 ServiceException 的打印

This commit is contained in:
YunaiV 2024-07-19 23:36:34 +08:00
parent 047051e008
commit a8fc7982ff

View File

@ -219,9 +219,11 @@ public class GlobalExceptionHandler {
*/ */
@ExceptionHandler(value = ServiceException.class) @ExceptionHandler(value = ServiceException.class)
public CommonResult<?> serviceExceptionHandler(ServiceException ex) { public CommonResult<?> serviceExceptionHandler(ServiceException ex) {
if (!IGNORE_ERROR_MESSAGES.contains(ex.getMessage())) {
// 不包含的时候才进行打印避免 ex 堆栈过多 // 不包含的时候才进行打印避免 ex 堆栈过多
log.info("[serviceExceptionHandler]", ex); if (!IGNORE_ERROR_MESSAGES.contains(ex.getMessage())) {
// 即使打印也只打印第一层 StackTraceElement并且使用 warn 在控制台输出更容易看到
StackTraceElement[] stackTrace = ex.getStackTrace();
log.warn("[serviceExceptionHandler]\n\t{}", stackTrace[0]);
} }
return CommonResult.error(ex.getCode(), ex.getMessage()); return CommonResult.error(ex.getCode(), ex.getMessage());
} }