1 Logcat 的不足之处
我们知道 Logcat 可以抓取日志,并可以设置日志等级。
日志等级
正常情况下,会用 Error 等级抓报错。
如果需要抓取请求信息,则要用到 Debug 等级,如下请求信息的抓取
正常请求
D/^~^app_log: [ (GraphqlRequest.kt:203)#run ] http request onSuccess Data{version=null}
接口报错
D/^~^app_log: [ (GraphqlRequest.kt:181)#run ] http request onFailure [Error{message='Cannot query field "guidanceList" on type "Query".', locations=[Location{line=1, column=36}], customAttributes={}}]
固然,我们能看到接口请求返回的信息,正常数据&报错。
但是当接口报错时,就不好定位问题了:
一是通过页面或各种查找才知道是哪个接口报错(当你接手别人的代码时)。
二是传的参数很难抓取到,复现问题大多时候都要对应参数,究竟是参数传错了还是其他问题,后端同事大多时候也需要参数来定位问题。
2 Profiler的完美用处
今天无意之中发现 Profiler 的完美用处,之前只是用来查看 CPU 占用和实时的性能监测,很少用来抓取接口信息(学无止境,可能我知道的太晚了)
1. 点击 监听到的请求变化,然后可以看到本次请求的具体信息 2. 进入 NETWORK 分组,查看请求信息即可 3. 或者选择一个时间段,则该时间段所有的请求都会被抓取,操作是选中-按住-拖动
至此,我们就可以捕获每一个网络请求的详细信息了,上下行参数都一览无余。
网友评论