From d3603a664c16e7a8a60ab8c47b1e3ee610bfb03d Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Thu, 13 Aug 2020 14:47:43 -0400 Subject: [PATCH] Un-break XLog network logging, code contributed from Neko --- .../tachiyomi/source/online/HttpSource.kt | 3 +++ app/src/main/java/exh/log/EHNetworkLogging.kt | 25 ++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt index 431fa682a..e18a290a1 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt @@ -13,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga +import exh.log.maybeInjectEHLogger import exh.patch.injectPatches import exh.source.DelegatedHttpSource import okhttp3.Headers @@ -42,12 +43,14 @@ abstract class HttpSource : CatalogueSource { get() = delegate?.networkHttpClient ?: original.client .newBuilder() .injectPatches { id } + .maybeInjectEHLogger() .build() override val cloudflareClient: OkHttpClient get() = delegate?.networkCloudflareClient ?: original.cloudflareClient .newBuilder() .injectPatches { id } + .maybeInjectEHLogger() .build() override val cookieManager: AndroidCookieJar diff --git a/app/src/main/java/exh/log/EHNetworkLogging.kt b/app/src/main/java/exh/log/EHNetworkLogging.kt index 21ceec7a2..8a4229e8a 100644 --- a/app/src/main/java/exh/log/EHNetworkLogging.kt +++ b/app/src/main/java/exh/log/EHNetworkLogging.kt @@ -1,16 +1,23 @@ package exh.log +import com.elvishew.xlog.XLog +import com.google.gson.Gson import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor -fun OkHttpClient.Builder.maybeInjectEHLogger(): OkHttpClient.Builder { // TODO - un-break this -/* if(false &&EHLogLevel.shouldLog(EHLogLevel.EXTREME)) { - val xLogger = XLog.tag("EHNetwork") - .nst() - val interceptor = HttpLoggingInterceptor { - xLogger.d(it) +fun OkHttpClient.Builder.maybeInjectEHLogger(): OkHttpClient.Builder { + if (EHLogLevel.shouldLog(EHLogLevel.EXTREME)) { + val logger: HttpLoggingInterceptor.Logger = object : HttpLoggingInterceptor.Logger { + override fun log(message: String) { + try { + Gson().fromJson(message, Any::class.java) + XLog.tag("||EH-NETWORK-JSON").nst().json(message) + } catch (ex: Exception) { + XLog.tag("||EH-NETWORK").nb().nst().d(message) + } + } } - interceptor.level = HttpLoggingInterceptor.Level.BODY - return addInterceptor(interceptor) - } */ + return addInterceptor(HttpLoggingInterceptor(logger).apply { level = HttpLoggingInterceptor.Level.BODY }) + } return this }