使用 httpclient 调用外部接口时,如何记录接口调用时长,调用接口 uri 、method 、传入参数、接口响应?
1
xuanbg 2022-02-18 12:25:02 +08:00
搞一个 HttpHelper ,对外暴露几个请求方法,在里面打日志就可以了。
|
2
zgc27wo 2022-02-18 12:35:06 +08:00
或者忽略 httpclient ,直接切面打日志或者设计为按注解切面打日志还更灵活通用一点.
|
3
sinnosong1 OP @zgc27wo 我自己的想法也是 加注解然后切面打日志,但是不知道要怎么拦截发送的 request 请求,然后获取想要的那些数据
|
4
potatowish 2022-02-18 13:01:14 +08:00
写一个 okhttp 拦截器 HttpLoggingInterceptor ,级别设成 BODY
|
5
wolfie 2022-02-18 14:40:15 +08:00
有 RequestInterceptor 、ResponseInterceptor ,没给环绕的。
手动创建然后交给 spring 管理,上 aop 环绕切 execute 。 |
6
dqzcwxb 2022-02-18 14:46:47 +08:00
建议从 nginx 或者 tomcat 入手,项目本身增加这个功能意义不大
|
7
sprite82 2022-02-18 16:00:33 +08:00
封装一个 httpclientUtils
|
8
thetbw 2022-02-18 16:19:27 +08:00
自己封装个 http 工具
|
9
issakchill 2022-02-18 16:50:49 +08:00
之前项目逼于无奈用了 forest 这个 http 客户端框架 日志功能挺全的
貌似 feign 的日志也可以 |
10
warcraft1236 2022-02-18 16:57:43 +08:00
使用 okhttp ,他自己就有 logging 这个功能,非要用 httpclient 的话,直接上 aop ,记录所有请求
|
11
cppc 2022-02-18 17:55:02 +08:00 via iPhone
|
12
BQsummer 2022-02-18 18:16:39 +08:00
用 okhttp ,写 Interceptor 打印 httpout 日志
|
13
sinnosong1 OP @warcraft1236 请问 aop 的话,要怎么实现?我现在是用 httpclient 的拦截器做的。aop 实现不知道要在哪里切入,能给点指导嘛?
|