refactor(logging): use Timber instead of Kermit
Android-only project, so Timber (the de-facto Android logging lib) fits better than the KMP-oriented Kermit. - Catalog: kermit -> timber (com.jakewharton.timber:timber 5.0.1). - core:data: Ktor Logging bridged to Timber; safeCall logs via Timber. - app: plant Timber.DebugTree() in debug only (buildConfig enabled for BuildConfig.DEBUG).
This commit is contained in:
@@ -4,6 +4,13 @@ plugins {
|
||||
alias(libs.plugins.architecture.koin)
|
||||
}
|
||||
|
||||
android {
|
||||
// Needed for BuildConfig.DEBUG (gating the Timber DebugTree).
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// :app is the only place modules are assembled and the dependency graph is wired.
|
||||
implementation(project(":core:data"))
|
||||
@@ -15,6 +22,8 @@ dependencies {
|
||||
implementation(libs.bundles.lifecycle.compose)
|
||||
// Material Components — required for the Material3 XML Activity theme.
|
||||
implementation(libs.material)
|
||||
// Logging — the DebugTree is planted here; other modules log via Timber's static API.
|
||||
implementation(libs.timber)
|
||||
|
||||
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
|
||||
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.example.architecture.core.data.di.coreDataModule
|
||||
import org.koin.android.ext.koin.androidContext
|
||||
import org.koin.android.ext.koin.androidLogger
|
||||
import org.koin.core.context.startKoin
|
||||
import timber.log.Timber
|
||||
|
||||
/**
|
||||
* Single Koin entry point. Feature modules append their own `*DataModule` / `*PresentationModule`
|
||||
@@ -13,6 +14,12 @@ import org.koin.core.context.startKoin
|
||||
class ArchitectureApp : Application() {
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
|
||||
// Plant Timber only in debug; release builds get no logs (swap in a crash-reporting tree).
|
||||
if (BuildConfig.DEBUG) {
|
||||
Timber.plant(Timber.DebugTree())
|
||||
}
|
||||
|
||||
startKoin {
|
||||
androidLogger()
|
||||
androidContext(this@ArchitectureApp)
|
||||
|
||||
Reference in New Issue
Block a user