From 9b9e924475b45865a772dedc6ff5838f67e3c4aa Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 3 May 2022 22:49:49 +0530 Subject: [PATCH] all: migrate logging to Napier --- .../dev/msfjarvis/claw/android/injection/ApiModule.kt | 4 ++-- .../claw/android/viewmodel/SavedPostsRepository.kt | 10 +++++++--- common/build.gradle.kts | 1 + .../msfjarvis/claw/common/urllauncher/UrlLauncher.kt | 4 ++-- .../msfjarvis/claw/common/urllauncher/UrlLauncher.kt | 3 ++- desktop/src/jvmMain/kotlin/Api.kt | 3 ++- gradle/libs.versions.toml | 1 + 7 files changed, 17 insertions(+), 9 deletions(-) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/ApiModule.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/ApiModule.kt index a401f7ec..3303c965 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/ApiModule.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/injection/ApiModule.kt @@ -1,7 +1,6 @@ package dev.msfjarvis.claw.android.injection import android.content.Context -import android.util.Log import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import dagger.Lazy import dagger.Module @@ -10,6 +9,7 @@ import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent import dev.msfjarvis.claw.api.LobstersApi +import io.github.aakira.napier.Napier import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json import okhttp3.Cache @@ -34,7 +34,7 @@ object ApiModule { .cache(cache.get()) .addNetworkInterceptor { chain -> val request = chain.request() - Log.d("LobstersApi", "${request.method}: ${request.url}") + Napier.d(tag = "LobstersApi") { "${request.method}: ${request.url}" } chain.proceed(request) } .build() diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt index 586f77bb..9e4cff2e 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/SavedPostsRepository.kt @@ -1,10 +1,10 @@ package dev.msfjarvis.claw.android.viewmodel -import android.util.Log import app.cash.sqldelight.coroutines.asFlow import app.cash.sqldelight.coroutines.mapToList import dev.msfjarvis.claw.database.LobstersDatabase import dev.msfjarvis.claw.database.local.SavedPost +import io.github.aakira.napier.Napier import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -18,12 +18,16 @@ constructor( val savedPosts = savedPostQueries.selectAllPosts().asFlow().mapToList() suspend fun savePost(post: SavedPost) { - Log.d("SavedPostsRepository", "Saving post: ${post.shortId}") + Napier.d(tag = TAG) { "Saving post: ${post.shortId}" } withContext(Dispatchers.IO) { savedPostQueries.insertOrReplacePost(post) } } suspend fun removePost(post: SavedPost) { - Log.d("SavedPostsRepository", "Removing post: ${post.shortId}") + Napier.d(tag = TAG) { "Removing post: ${post.shortId}" } withContext(Dispatchers.IO) { savedPostQueries.deletePost(post.shortId) } } + + private companion object { + private const val TAG = "SavedPostsRepository" + } } diff --git a/common/build.gradle.kts b/common/build.gradle.kts index da4bc0df..4c7c1b19 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -34,6 +34,7 @@ kotlin { api(compose.material3) api(projects.database) api(projects.model) + api(libs.napier) implementation(libs.kotlin.coroutines.core) implementation(libs.compose.richtext.markdown) implementation(libs.compose.richtext.material) diff --git a/common/src/androidMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt b/common/src/androidMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt index c95762cd..997a0397 100644 --- a/common/src/androidMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt +++ b/common/src/androidMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt @@ -3,10 +3,10 @@ package dev.msfjarvis.claw.common.urllauncher import android.content.ActivityNotFoundException import android.content.Context import android.net.Uri -import android.util.Log import android.widget.Toast import androidx.browser.customtabs.CustomTabsIntent import androidx.compose.ui.platform.UriHandler +import io.github.aakira.napier.Napier class UrlLauncher(private val context: Context) : UriHandler { override fun openUri(uri: String) { @@ -20,7 +20,7 @@ class UrlLauncher(private val context: Context) : UriHandler { customTabsIntent.launchUrl(context, Uri.parse(uri)) } catch (e: ActivityNotFoundException) { val error = "Failed to open URL: $uri" - Log.d("UrlLauncher", error) + Napier.d(tag = "UrlLauncher") { error } Toast.makeText(context, error, Toast.LENGTH_SHORT).show() } } diff --git a/common/src/desktopMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt b/common/src/desktopMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt index 767033c0..272ce080 100644 --- a/common/src/desktopMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt +++ b/common/src/desktopMain/kotlin/dev/msfjarvis/claw/common/urllauncher/UrlLauncher.kt @@ -1,6 +1,7 @@ package dev.msfjarvis.claw.common.urllauncher import androidx.compose.ui.platform.UriHandler +import io.github.aakira.napier.Napier import java.awt.Desktop import java.io.IOException import java.net.URI @@ -13,7 +14,7 @@ class UrlLauncher : UriHandler { try { desktop.browse(URI(uri)) } catch (e: IOException) { - println("Failed to open URL: $uri") + Napier.d(tag = "UrlLauncher") { "Failed to open URL: $uri" } } } } diff --git a/desktop/src/jvmMain/kotlin/Api.kt b/desktop/src/jvmMain/kotlin/Api.kt index d0148c39..31f6ffa2 100644 --- a/desktop/src/jvmMain/kotlin/Api.kt +++ b/desktop/src/jvmMain/kotlin/Api.kt @@ -1,5 +1,6 @@ import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import dev.msfjarvis.claw.api.LobstersApi +import io.github.aakira.napier.Napier import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json import okhttp3.MediaType @@ -15,7 +16,7 @@ class Api { return OkHttpClient.Builder() .addNetworkInterceptor { chain -> val request = chain.request() - println("LobstersApi: ${request.method()}: ${request.url()}") + Napier.d(tag = "LobstersApi") { "${request.method()}: ${request.url()}" } chain.proceed(request) } .build() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d6446e8a..0f4d5115 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -46,6 +46,7 @@ kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-co kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "serialization" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" } multiplatform-paging = "io.github.kuuuurt:multiplatform-paging:0.4.7" +napier = "io.github.aakira:napier:2.5.0" r8 = "com.android.tools:r8:3.3.28" retrofit-kotlinxSerializationConverter = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0" retrofit-lib = "com.squareup.retrofit2:retrofit:2.9.0"