【发布时间】:2019-08-21 04:25:24
【问题描述】:
我正在尝试使用 OkHttp 通过拦截登录到 Crashlytics,因为我的一些客户收到 500 错误,我想完成他们在响应中发布和获得的内容的详细信息。就像 OkHttp 在 Android Studio 的日志中显示的那样。
当 200 错误发生但没有成功时,我尝试记录详细信息。
@Module
public class DIModule {
MyApplication application;
public DIModule(MyApplication application) {
this.application = application;
}
public DIModule()
{
}
@Singleton
@Provides
OkHttpClient getOkHttpClient() {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
return new OkHttpClient.Builder()
.addInterceptor(logging).addInterceptor(new HeaderInterceptor())
.build();
}
@Singleton
@Provides
Retrofit getRetro(OkHttpClient client) {
return new Retrofit.Builder()
.baseUrl(Api.BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create()) //Here we are using the GsonConverterFactory to directly convert json data to object
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
}
@Singleton
@Provides
Context provideApplicationContext()
{
return application;
}
@Singleton
@Provides
MSharedPref getSharedPreferences(Context app)
{
return new MSharedPref(app);
}
class HeaderInterceptor implements Interceptor
{
@Override
public Response intercept(Chain chain) throws IOException
{
Request.Builder builder = chain.request().newBuilder();
String token="No Value";
if(StaticData.loginResponse!=null)
token=StaticData.loginResponse.getAccess_token();
builder.header("Authorization", "Bearer "+ token)
.header("Accept", "application/json")
.header("Content-Type", "application/json");
Response response=chain.proceed(builder.build());
if(response.code()==200)
{
Log.d("test67","ooooooooooooooooooo"+response);
//here I will log
}
return response;
}
}
}
Log.d() 正在显示 响应{protocol=http/1.1, code=200, message=OK, url=http://........./api/user}
到 crashlytics。
我会从响应中得到所有 OkHttp 的日志,还是我走错了路。 Crashlytics.logException(e); 的非致命日志记录也只需要 Throwable。那我该怎么做呢?
请帮忙..
【问题讨论】:
-
你找到解决办法了吗?
-
我还希望记录对 Firebase Crashlytics 的改造响应(400 和 500),但还没有找到在改造级别添加的方法,因此它是可扩展的。有这方面的更新吗?
标签: android rx-java retrofit2 crashlytics okhttp