本文介绍了Retrofit2 HttpLoggingInterceptor logcat的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大概是新手的问题,但我不知道在那里我居然赶在日志猫的日志。有没有我放一个记录,一个特殊的正则表达式使用等,这是我的拦截器看起来像一个特定的地方:
HttpLoggingInterceptor拦截器=新HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); 。OkHttpClient okClient =新OkHttpClient.Builder()addInterceptor(拦截).build(); //改造安装
改造客户=新retrofit2.Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(okClient)
。建立();
这是一个API调用在身体为空
retrofit2.Call< GeneralTokenResponse> generalTokenResponseCall = ApiInterface.getGeneralAccessToken(ApiGeneral.API_VERSION);
generalTokenResponseCall.enqueue(新retrofit2.Callback< GeneralTokenResponse>(){
@覆盖
公共无效onResponse(retrofit2.Call< GeneralTokenResponse>打电话,retrofit2.Response< GeneralTokenResponse>响应){
Log.d(调试,体+ response.body()); } @覆盖
公共无效onFailure处(retrofit2.Call< GeneralTokenResponse>打电话,可抛出T){ }
});
解决方案
我用这样:
//初始化okhttp 3记录仪
HttpLoggingInterceptor记录=新HttpLoggingInterceptor(新HttpLoggingInterceptor.Logger(){
@覆盖公共无效的日志(字符串消息){
Log.d(MyTag的,OkHttp:+消息);
}
});
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
Probably a novice question but I'm wondering where I actually catch the logs in log cat. Is there a particular place I put a log, a special regex to use etc. This is what my interceptor looks like:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okClient = new OkHttpClient.Builder().addInterceptor(interceptor).build();
// Retrofit setup
Retrofit client = new retrofit2.Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(okClient)
.build();
And here is an api call where the body is null
retrofit2.Call<GeneralTokenResponse> generalTokenResponseCall = ApiInterface.getGeneralAccessToken(ApiGeneral.API_VERSION);
generalTokenResponseCall.enqueue(new retrofit2.Callback<GeneralTokenResponse>() {
@Override
public void onResponse(retrofit2.Call<GeneralTokenResponse> call, retrofit2.Response<GeneralTokenResponse> response) {
Log.d("DEBUG", "body: "+response.body());
}
@Override
public void onFailure(retrofit2.Call<GeneralTokenResponse> call, Throwable t) {
}
});
解决方案
I use so:
// init okhttp 3 logger
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override public void log(String message) {
Log.d("MyTAG", "OkHttp: " + message);
}
});
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
这篇关于Retrofit2 HttpLoggingInterceptor logcat的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!