我正在使用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中查看请求时间和各种元数据。

09-06 05:58