2017-09-21 10 views
1

Je suis en train de se débarrasser des ordures dans les journaux, commeFaire HttpLoggingInterceptor ne consignent pas les images

* $ ʞxJ/

quand je reçois une image

donc j'ai essayé de passer outre HttpLoggingInterceptor interception(), pour détecter est-il un type de contenu => en-tête d'image/jpeg dans responce, mais HttpLoggingInterceptor est finale, donc je ne peux pas l'étends :(

code dans RetrofitModule:

OkHttpClient provideOkHttpClient(Context context, Application app, Preferences preferences) { 
     HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); 
     loggingInterceptor.setLevel(BuildConfig.DEBUG ? HttpLoggingInterceptor.Level.BODY : HttpLoggingInterceptor.Level.HEADERS); 

     Cache cache = new Cache(app.getCacheDir(), cacheSize); 

     return new OkHttpClient.Builder() 
       .addNetworkInterceptor(new OkHttpInterceptor(context, preferences)) 
       .addInterceptor(loggingInterceptor) 
       .cache(cache) 
       .build(); 
    } 

Comment puis-je désactiver la journalisation d'image dans mon projet?

+0

Ne peut pas croire que tous les développeurs cool ignorent simplement la corbeille dans les journaux :( – whereismaxmax

Répondre

0

Ainsi, puisque personne n'ont une réponse inventer iv'e mon propre vélo:

HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { 
     @Override 
     public void log(String message) { 
      if(!message.contains("�")){ 
       Timber.d(message); 
      } 
     } 
    }); 

Pas vraiment sûr si String.contains() pas cher assez pour l'utiliser comme ceci, mais le but est atteint