我使用Retrofit来进行HTTP请求和JSON解析,并且我喜欢打开调试日志的方式。日志允许查看正文请求,URL ...,这非常有用。当Retrofit使用OkHttp时,我想知道OkHttp是否也可以为每个请求启用日志。

最佳答案

目前正在审查拦截器功能,但是您可以通过应用the pull request中的代码更改来使用该功能构建自己的okHttp版本。

您可以通过以下方式实现所需的功能

// Create an interceptor which catches requests and logs the info you want
RequestInterceptor logRequests= new RequestInterceptor() {
  public Request execute(Request request) {
    Log.i("REQUEST INFO", request.toString());
    return request; // return the request unaltered
  }
};

OkHttpClient client = new OkHttpClient();
List<RequestInterceptor> requestInterceptors = client.requestInterceptors();
requestInterceptros.add(logRequests);

如果您想查看更多内容,则A test包含在拉取请求中。

我将不得不提前警告您使用此功能。 拦截器API可能有所更改,因为它尚未被合并。不要将其与生产代码一起使用,但是对于个人测试而言,它是无害的。

10-08 07:10