Add ktor logging

pull/3212/head
Alex Baker 11 months ago
parent df153da8cf
commit d1305f67bb

@ -245,6 +245,7 @@ dependencies {
implementation(libs.coil.gif)
implementation(libs.ktor)
implementation(libs.ktor.client.logging)
implementation(libs.ktor.content.negotiation)
implementation(libs.ktor.serialization)

@ -10,7 +10,11 @@ import io.ktor.client.plugins.HttpTimeout
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
import io.ktor.client.plugins.cookies.HttpCookies
import io.ktor.client.plugins.defaultRequest
import io.ktor.client.plugins.logging.LogLevel
import io.ktor.client.plugins.logging.Logger
import io.ktor.client.plugins.logging.Logging
import io.ktor.client.request.header
import io.ktor.http.HttpHeaders
import io.ktor.serialization.kotlinx.json.json
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
@ -18,6 +22,7 @@ import kotlinx.serialization.json.Json
import net.openid.appauth.AuthState
import okhttp3.OkHttpClient
import okhttp3.internal.tls.OkHostnameVerifier
import org.tasks.BuildConfig
import org.tasks.DebugNetworkInterceptor
import org.tasks.caldav.TasksCookieJar
import org.tasks.data.entity.CaldavAccount
@ -26,6 +31,7 @@ import org.tasks.preferences.Preferences
import org.tasks.security.KeyStoreEncryption
import org.tasks.sync.microsoft.MicrosoftService
import org.tasks.sync.microsoft.requestTokenRefresh
import timber.log.Timber
import javax.inject.Inject
import javax.net.ssl.SSLContext
@ -122,6 +128,16 @@ class HttpClientFactory @Inject constructor(
}
install(HttpErrorHandler)
install(Logging) {
logger = object : Logger {
override fun log(message: String) {
Timber.d(message)
}
}
level = if (BuildConfig.DEBUG) LogLevel.ALL else LogLevel.HEADERS
sanitizeHeader { header -> header == HttpHeaders.Authorization }
}
}
return MicrosoftService(
client = client

@ -1444,6 +1444,13 @@
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
++--- io.ktor:ktor-client-logging:3.0.3
+| \--- io.ktor:ktor-client-logging-jvm:3.0.3
+| +--- org.slf4j:slf4j-api:2.0.16
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.9.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 (*)
+| +--- io.ktor:ktor-client-core:3.0.3 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
++--- io.ktor:ktor-client-content-negotiation:3.0.3
+| \--- io.ktor:ktor-client-content-negotiation-jvm:3.0.3
+| +--- org.slf4j:slf4j-api:2.0.16

@ -1752,6 +1752,13 @@
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
++--- io.ktor:ktor-client-logging:3.0.3
+| \--- io.ktor:ktor-client-logging-jvm:3.0.3
+| +--- org.slf4j:slf4j-api:2.0.16
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.9.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 (*)
+| +--- io.ktor:ktor-client-core:3.0.3 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
++--- io.ktor:ktor-client-content-negotiation:3.0.3
+| \--- io.ktor:ktor-client-content-negotiation-jvm:3.0.3
+| +--- org.slf4j:slf4j-api:2.0.16

@ -148,6 +148,7 @@ kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version
kotlinx-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version = "0.3.8" }
kotlinx-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.7.3" }
ktor = { module = "io.ktor:ktor-client-android", version.ref = "ktor" }
ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
ktor-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
ktor-serialization = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }

Loading…
Cancel
Save