我已经将RxJava2与Retrofit2集成在一起,并且无法使用HttpLoggingInterceptor获取api调用的日志。
我正在使用下面的依赖项-
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.2'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.9.1'并使用以下代码
public class RxJavaRetofit {
private ApiMethods api;
public RxJavaRetofit() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(interceptor)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(AppUrls.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
api = retrofit.create(ApiMethods.class);
}
public void getSocialFeed(Context context, SocialRequest socialRequest, final mevorun.mevolife.com.mevorun.listeners.onSocialServiceResponseHandler onServiceResponseHandler) {
Utils.showDialog(context);
api.getSocialData(socialRequest).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<Social>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Social value) {
try {
onServiceResponseHandler.onServerResponse(value.getResponse(),"Feed");
Utils.hideDialog();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
Utils.hideDialog();
}
});
}在我的Logcat中,我选择了调试和搜索HttpLoggingInterceptor,但是没有那个关键字的日志,我也尝试过详细的,但是它没有显示call.How的日志,我可以为我的api调用获取日志吗?
发布于 2018-05-16 12:33:59
这几乎是一个评论,而不是一个真正的答案。
你的代码看上去一切正常。拦截器使用标记OkHttp进行日志记录。搜索它应该会产生您正在寻找的日志。
https://stackoverflow.com/questions/50349869
复制相似问题