回答

收藏

springboot @ExceptionHandler 异常 取消默认日志处理

Java技术问答 Java技术问答 59 人阅读 | 0 人回复 | 2022-01-10

  1. @Slf4j
  2. @RestControllerAdvice
  3. public class GlobalExceptionHandler {
  4.     @ResponseStatus(HttpStatus.BAD_REQUEST) ! ^( P: e! \* a/ Q, M
  5.     @ExceptionHandler(RuntimeException.class)
  6.     public AjaxResult handler(RuntimeException e) { ! r. O4 |5 m, z5 S9 A6 K
  7.         // e.printStackTrace();
  8.         log.error("Assert异常:----------{}",e.getMessage());
  9.         return AjaxResult.fail(e.getMessage()); 9 S5 w1 P  ]6 m, e( i2 u
  10.     } / |7 E5 e) ^6 F7 G! Y6 b
  11.     @ResponseStatus(HttpStatus.BAD_REQUEST)
  12.     @ExceptionHandler(IllegalArgumentException.class) 2 @3 v. }* ?: S; _9 Y
  13.     public AjaxResult handler(IllegalArgumentException e) {
  14.         log.error("Assert异常:----------{}",e.getMessage());
  15.         return AjaxResult.fail(e.getMessage()); 4 q$ h5 [  ~) |
  16.     } : ?$ A% n( Z& f  B4 V
  17. } ( s+ \6 k2 ?# P( p6 Q% y9 ^
复制代码

) B) F4 `! |* b/ l/ {- G& s  }" o! ~! d) a
  1. @RestController
  2. public class TestController { 7 j2 |* R0 E1 k! c
  3. ' w" c- T- S7 y% I. _8 f5 x
  4.     @Autowired
  5.     private SysUserService sysUserService; : H: _" O0 [. B$ ~
  6.   F" Z4 M/ j/ L4 V0 _3 W# u
  7.     @GetMapping("/test1") 4 D& N; i! W( W' D
  8.     public Object test1() {
  9.         int a = 10/0; ) l9 U9 B6 W! A
  10.         return "1"; ; b: M; ?4 V9 `% }% ^' j
  11.     } # J; \2 G! v5 G3 m7 L' ~1 z
  12.     @GetMapping("/test2")
  13.     public Object test2() {
  14.         return sysUserService.list(); / ^) Y* ~# \, V+ [: V$ h. s
  15.     }
  16. }
复制代码
123.png
124.png
如图所示 访问 test1 资源会报 by zero 错误 控制台会打印出 2条log记录
  • error级别 log.error("Assert异常:----------{}",e.getMessage());
  • warn级别 springboot 自带的log处理。' A4 g. m! c" K: T# y6 k7 D
有没有大佬研究过怎么取消 springboot的 默认warn 提示
; v5 Y+ x1 @. T3 L  M$ D" d
我知道答案 回答被采纳将会获得6 金钱 已有0人回答
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则