我正在使用Ion async HTTP library for Android,并且想要进行一些自定义日志记录。理想的情况是挂钩每个请求的开始和结束,以获取总请求时间以及其他一些元数据,例如HTTP响应代码和URL。有人知道这样做吗?
我正在尝试使用setAsyncHttpRequestFactory
,但这似乎只能使请求开始而不是结束。
Ion.Config ionConf = Ion.getDefault(appContext).configure();
final AsyncHttpRequestFactory reqFac = ionConf.getAsyncHttpRequestFactory();
ionConf.setAsyncHttpRequestFactory((uri, method, headers) -> {
// Do custom logging stuff here
AsyncHttpRequest req = reqFac.createAsyncHttpRequest(uri, method, headers);
return req;
});
最佳答案
实现并添加AsyncHttpClientMiddleware(从SimpleMiddleware继承),并将其注入AsyncHttpClient的管道中。重写onRequest和onResponseCompleted以获取请求开始和结束的事件。
或者,如果仅全局启用离子记录,则可以在adb logcat中查看请求时间和各种元数据。