监控接口异常访问情况

本文介绍了如何在Spring Web项目中监控接口异常。通过拦截器或AOP切面,实时捕获接口返回的错误代码,确保在问题被报告之前及时解决。文中详细讲解了两种实现思路,并给出了具体代码示例。
摘要由CSDN通过智能技术生成

背景描述

目前本人负责一个web项目,该项目为兄弟小组提供接口,供其他小组使用。 公司希望能够及时监控到每个接口的报错。以便在客户或同事提出bug之前将其解决。

原料

spring web项目,restful风格接口。

代码开发思路

有两个思路,
第一个思路是用拦截器来拦截所有接口的返回responseObject,获取其中的resultCode,用以判断接口是否出现异常;
先是实践第一个思路中从httpServletResponse中获取返回字段,后面发现要写的代码量比较多。具体思路大概是过滤器+ 代理HttpServletResponseWrapper,来拿到返回字段。实现逻辑可以参考这篇博客https://blog.csdn.net/KokJuis/article/details/77371324 。
更改其中的加密逻辑来实现你自己的目的了。

第二个是利用切面工程,将所有controller目录下的类都切一下,如果出现异常,就通知一下。这篇文章具体介绍第二个思路,也就是用切面工程来实现监控接口。

具体思路就是切面加通知,简单直接。

代码


/**
 * @author Wu, xx
 * @version 1.0
 * @date 2022/5/16 14:56
 * 接口异常监控
 */

@Aspect
@Component
@Order(Integer.MIN_VALUE)
public class MyAspect {
   

    @Autowired
    private UserService userService;
    private static Logger log = (Logger) LogManager.getLogger(MyAspect.class.getName());


    @Around("execution(* com.xxx.controller..*Controller.*(..))")
    public Object recordTimeLog(ProceedingJoinPoint joinPoint) throws Throwable {
   

        // 记录开始时间
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值