From 46cc0910bf41d56a04038c7b5a0aac29680d773e Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sat, 14 Oct 2023 21:03:08 +0530 Subject: [PATCH] feat(database): enable query logging --- database/impl/build.gradle.kts | 1 + .../claw/database/injection/DatabaseModule.kt | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/database/impl/build.gradle.kts b/database/impl/build.gradle.kts index 07aadad2..40a532f0 100644 --- a/database/impl/build.gradle.kts +++ b/database/impl/build.gradle.kts @@ -19,6 +19,7 @@ anvil { generateDaggerFactories.set(true) } dependencies { api(projects.database.core) + implementation(libs.napier) implementation(libs.dagger) implementation(libs.sqldelight.androidDriver) implementation(libs.sqldelight.primitiveAdapters) diff --git a/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt index c750bf9e..9ad3183c 100644 --- a/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt +++ b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt @@ -9,6 +9,7 @@ package dev.msfjarvis.claw.database.injection import android.content.Context import app.cash.sqldelight.adapter.primitive.IntColumnAdapter import app.cash.sqldelight.driver.android.AndroidSqliteDriver +import app.cash.sqldelight.logs.LogSqliteDriver import com.deliveryhero.whetstone.app.ApplicationScope import com.squareup.anvil.annotations.ContributesTo import com.squareup.anvil.annotations.optional.ForScope @@ -18,6 +19,7 @@ import dev.msfjarvis.claw.database.LobstersDatabase import dev.msfjarvis.claw.database.local.PostComments import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.database.model.CSVAdapter +import io.github.aakira.napier.Napier import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory @Module @@ -29,12 +31,16 @@ object DatabaseModule { @[Provides InternalDatabaseApi] fun provideDatabase(@ForScope(ApplicationScope::class) context: Context): LobstersDatabase { val driver = - AndroidSqliteDriver( - schema = LobstersDatabase.Schema, - context = context, - name = LOBSTERS_DATABASE_NAME, - factory = RequerySQLiteOpenHelperFactory(), - ) + LogSqliteDriver( + AndroidSqliteDriver( + schema = LobstersDatabase.Schema, + context = context, + name = LOBSTERS_DATABASE_NAME, + factory = RequerySQLiteOpenHelperFactory(), + ) + ) { message -> + Napier.d(tag = "SQLDelightQuery", message = message) + } return LobstersDatabase( driver = driver, PostCommentsAdapter = PostComments.Adapter(CSVAdapter()),