소스 검색

Added okhttp logger for debug builds

sirekanyan 8 년 전
부모
커밋
5e47c31b1a
2개의 변경된 파일18개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      app/build.gradle
  2. 17 0
      app/src/main/java/me/vadik/knigopis/App.kt

+ 1 - 0
app/build.gradle

@@ -33,6 +33,7 @@ dependencies {
     implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
     implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version"
     implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
+    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
     implementation 'com.github.bumptech.glide:glide:4.5.0'
     implementation(name: 'ulogin-sdk-v1.1', ext: 'aar')
     testImplementation 'junit:junit:4.12'

+ 17 - 0
app/src/main/java/me/vadik/knigopis/App.kt

@@ -4,6 +4,9 @@ import android.app.Application
 import com.google.gson.GsonBuilder
 import me.vadik.knigopis.api.gson.ImageThumbnailDeserializer
 import me.vadik.knigopis.model.ImageThumbnail
+import okhttp3.OkHttpClient
+import okhttp3.logging.HttpLoggingInterceptor
+import okhttp3.logging.HttpLoggingInterceptor.Level
 import retrofit2.Retrofit
 import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
 import retrofit2.converter.gson.GsonConverterFactory
@@ -18,6 +21,11 @@ class App : Application() {
             .baseUrl(MAIN_API_URL)
             .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
             .addConverterFactory(GsonConverterFactory.create())
+            .client(
+                OkHttpClient.Builder()
+                    .setDebugEnabled(BuildConfig.DEBUG)
+                    .build()
+            )
             .build()
     }
 
@@ -35,4 +43,13 @@ class App : Application() {
             )
             .build()
     }
+
+    private fun OkHttpClient.Builder.setDebugEnabled(debugEnabled: Boolean): OkHttpClient.Builder {
+        if (debugEnabled) {
+            addNetworkInterceptor(HttpLoggingInterceptor().also {
+                it.level = Level.BODY
+            })
+        }
+        return this
+    }
 }