V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sinnosong1
V2EX  ›  Java

SpringBoot 中如何记录调用外部接口的操作日志?

  •  
  •   sinnosong1 ·
    SinnoSong · 294 天前 · 2087 次点击
    这是一个创建于 294 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 httpclient 调用外部接口时,如何记录接口调用时长,调用接口 uri 、method 、传入参数、接口响应?

    第 1 条附言  ·  288 天前
    该问题已完结,现在是自己写了个包装方法,包装 httpClient 的 execute 方法,再通过 aop 获取 request 和 response 中的各种信息。
    13 条回复    2022-02-19 17:39:45 +08:00
    xuanbg
        1
    xuanbg  
       294 天前
    搞一个 HttpHelper ,对外暴露几个请求方法,在里面打日志就可以了。
    zgc27wo
        2
    zgc27wo  
       294 天前
    或者忽略 httpclient ,直接切面打日志或者设计为按注解切面打日志还更灵活通用一点.
    sinnosong1
        3
    sinnosong1  
    OP
       294 天前
    @zgc27wo 我自己的想法也是 加注解然后切面打日志,但是不知道要怎么拦截发送的 request 请求,然后获取想要的那些数据
    potatowish
        4
    potatowish  
       294 天前
    写一个 okhttp 拦截器 HttpLoggingInterceptor ,级别设成 BODY
    wolfie
        5
    wolfie  
       293 天前
    有 RequestInterceptor 、ResponseInterceptor ,没给环绕的。

    手动创建然后交给 spring 管理,上 aop 环绕切 execute 。
    dqzcwxb
        6
    dqzcwxb  
       293 天前
    建议从 nginx 或者 tomcat 入手,项目本身增加这个功能意义不大
    sprite82
        7
    sprite82  
       293 天前
    封装一个 httpclientUtils
    thetbw
        8
    thetbw  
       293 天前
    自己封装个 http 工具
    issakchill
        9
    issakchill  
       293 天前
    之前项目逼于无奈用了 forest 这个 http 客户端框架 日志功能挺全的
    貌似 feign 的日志也可以
    warcraft1236
        10
    warcraft1236  
       293 天前
    使用 okhttp ,他自己就有 logging 这个功能,非要用 httpclient 的话,直接上 aop ,记录所有请求
    cppc
        11
    cppc  
       293 天前 via iPhone
    BQsummer
        12
    BQsummer  
       293 天前
    用 okhttp ,写 Interceptor 打印 httpout 日志
    sinnosong1
        13
    sinnosong1  
    OP
       292 天前
    @warcraft1236 请问 aop 的话,要怎么实现?我现在是用 httpclient 的拦截器做的。aop 实现不知道要在哪里切入,能给点指导嘛?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4283 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 05:39 · PVG 13:39 · LAX 21:39 · JFK 00:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.