回答

收藏

springboot @ExceptionHandler 异常 取消默认日志处理6金钱.anslist{backgr

技术问答 技术问答 407 人阅读 | 0 人回复 | 2023-09-11


    3 a  u; [) ?) T; y( {
  • @Slf4j
    ; X% k0 ?1 O/ e& a2 |' c, S# l3 c
  • @RestControllerAdvice
    0 |0 W  T" D: E& F
  • public class GlobalExceptionHandler {. [% @: e% p8 [4 M- Y

  • " I4 j! T% ?( B
  •     @ResponseStatus(HttpStatus.BAD_REQUEST)' m7 [( i8 V; F# b$ e/ B
  •     @ExceptionHandler(RuntimeException.class)+ J' u( m! h' }& H- E  T+ t
  •     public AjaxResult handler(RuntimeException e) {
    . L: g) d9 c/ r2 I
  •         // e.printStackTrace();% b) D4 P( a, |, X8 l: P* a' U
  •         log.error("Assert异常:----------{}",e.getMessage());7 s' y+ J4 n, l' ^' I4 Z6 _* h4 P
  •         return AjaxResult.fail(e.getMessage());
    1 y: s5 s+ {. x5 p: a$ n
  •     }
      X6 N4 N4 z7 `* B1 S7 K" o
  •     @ResponseStatus(HttpStatus.BAD_REQUEST)
    8 X3 j. X  M8 S3 _4 ^
  •     @ExceptionHandler(IllegalArgumentException.class). k7 W4 j* m5 f7 L3 K
  •     public AjaxResult handler(IllegalArgumentException e) {
    : O  I7 A* X7 `  I0 P
  •         log.error("Assert异常:----------{}",e.getMessage());# a( ?! ~6 ~4 s9 G7 O8 b" X. ^
  •         return AjaxResult.fail(e.getMessage());
    + f# y. E* _5 q; @& s; W
  •     }: C; j4 Z. T- b- x& S4 a
  • }) U% P6 Y; j7 W

: s- }0 a; k* R; ~( z. R& w( z
    / K( S2 y2 d, r* P+ J- b
  • @RestController
    7 d. q) u0 a. C; t. e  @$ t
  • public class TestController {# a. q3 `- J* e" r

  • / v7 e9 h, v8 P$ K
  •     @Autowired2 C+ o5 K" {- V: v4 o$ |: d% m' R
  •     private SysUserService sysUserService;
    8 O6 w$ Z; [7 z2 ^& V
  • * s7 @( ?& U/ g. n5 z9 [5 T# O- y" H
  •     @GetMapping("/test1"), r+ e8 b+ H% }, U
  •     public Object test1() {" \7 T' Y0 |% g
  •         int a = 10/0;  C+ W: d$ `& b; Y
  •         return "1";' Z$ ~* Z4 G  L( v" h. M
  •     }
    5 Q2 j; g, o- A2 P' n  ]
  • 1 }7 _  g0 E9 V: n. B* L" E6 c
  •     @GetMapping("/test2")
    " o9 H8 O: a9 t6 W- s& Y0 f
  •     public Object test2() {; d/ X9 j. l  ~4 D* v8 ^
  •         return sysUserService.list();4 v& U# S- m$ l
  •     }1 \7 z! R/ s0 H/ ~
  • }/ ]0 T6 Y6 m1 X/ `
如图所示 访问 test1 资源会报 by zero 错误 控制台会打印出 2条log记录5 {* t9 P* @1 s6 l: g
    ) t) T8 L  x  P! n" W1 f9 \  V
  • error级别 log.error("Assert异常:----------{}",e.getMessage());warn级别 springboot 自带的log处理。
    / k7 ?4 O2 p; s7 k" Z# \
有没有大佬研究过怎么取消 springboot的 默认warn 提示& c5 P) Q  [, O8 R
我知道答案 回答被采纳将会获得6 金钱 已有0人回答

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则