Skip to content

Commit f722e74

Browse files
authored
Merge pull request #10 from GetStream/stream/logger
Migrate Timber to StreamLog
2 parents 0c6366d + de8cc45 commit f722e74

File tree

10 files changed

+8361
-4563
lines changed

10 files changed

+8361
-4563
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ If you’re interested in adding powerful In-App Messaging to your app, check ou
7171
- [Retrofit adapters](https://github.com/skydoves/retrofit-adapters): Retrofit adapters for modeling network responses with Kotlin Result, Jetpack Paging3, and Arrow Either.
7272
- [ksp](https://github.com/google/ksp): Kotlin Symbol Processing API.
7373
- [sealedx](https://github.com/skydoves/sealedx): Kotlin Symbol Processor to auto-generate extensive sealed classes and interfaces.
74-
- [Timber](https://github.com/JakeWharton/timber): A logger with a small, extensible API which provides utility.
74+
- [StreamLog](https://github.com/GetStream/stream-log): A lightweight and extensible logger library for Kotlin and Android.
7575
- Baseline Profiles: To improve app performance by including a list of classes and methods specifications in your APK that can be used by Android Runtime.
7676

7777
## 🏛️ Architecture

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@ dependencies {
8484
implementation(libs.accompanist.pager)
8585
implementation(libs.accompanist.indicator)
8686

87-
implementation(libs.timber)
87+
implementation(libs.stream.log)
8888
}

app/src/main/baseline-prof.txt

Lines changed: 8336 additions & 4544 deletions
Large diffs are not rendered by default.

features/calls/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ dependencies {
2828

2929
implementation(libs.androidx.lifecycle.runtimeCompose)
3030
implementation(libs.androidx.lifecycle.viewModelCompose)
31-
implementation(libs.timber)
31+
implementation(libs.stream.log)
3232
}

features/camera/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ plugins {
2121
}
2222

2323
dependencies {
24-
implementation(libs.timber)
24+
implementation(libs.stream.log)
2525
}

features/chats/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@ dependencies {
3333
implementation(libs.androidx.lifecycle.runtimeCompose)
3434
implementation(libs.androidx.lifecycle.viewModelCompose)
3535
implementation(libs.androidx.startup)
36-
implementation(libs.timber)
36+
implementation(libs.stream.log)
3737
}

features/chats/src/main/kotlin/io/getstream/whatsappclone/chats/initializer/StreamChatInitializer.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ import io.getstream.chat.android.client.models.User
2424
import io.getstream.chat.android.offline.model.message.attachments.UploadAttachmentsNetworkType
2525
import io.getstream.chat.android.offline.plugin.configuration.Config
2626
import io.getstream.chat.android.offline.plugin.factory.StreamOfflinePluginFactory
27+
import io.getstream.log.streamLog
2728
import io.getstream.whatsappclone.chats.BuildConfig
2829
import io.getstream.whatsappclone.chats.R
29-
import timber.log.Timber
3030

3131
/**
3232
* StreamChatInitializer initializes all Stream Client components.
3333
*/
3434
class StreamChatInitializer : Initializer<Unit> {
3535

3636
override fun create(context: Context) {
37-
Timber.d("StreamChatInitializer is initialized")
37+
streamLog { "StreamChatInitializer is initialized" }
3838

3939
/**
4040
* initialize a global instance of the [ChatClient].
@@ -67,5 +67,5 @@ class StreamChatInitializer : Initializer<Unit> {
6767
}
6868

6969
override fun dependencies(): List<Class<out Initializer<*>>> =
70-
listOf(TimberInitializer::class.java)
70+
listOf(StreamLogInitializer::class.java)
7171
}
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,21 @@ package io.getstream.whatsappclone.chats.initializer
1818

1919
import android.content.Context
2020
import androidx.startup.Initializer
21-
import io.getstream.whatsappclone.chats.BuildConfig
22-
import timber.log.Timber
21+
import io.getstream.log.Priority
22+
import io.getstream.log.StreamLog
23+
import io.getstream.log.android.AndroidStreamLogger
24+
import io.getstream.log.android.BuildConfig
25+
import io.getstream.log.streamLog
2326

24-
class TimberInitializer : Initializer<Unit> {
27+
class StreamLogInitializer : Initializer<Unit> {
2528

2629
override fun create(context: Context) {
2730
if (BuildConfig.DEBUG) {
28-
Timber.plant(Timber.DebugTree())
29-
Timber.d("TimberInitializer is initialized")
31+
StreamLog.setValidator { priority, _ ->
32+
priority.level >= Priority.DEBUG.level
33+
}
34+
AndroidStreamLogger.install()
35+
streamLog { "StreamLogInitializer is initialized" }
3036
}
3137
}
3238

features/status/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ plugins {
2121
}
2222

2323
dependencies {
24-
implementation(libs.timber)
24+
implementation(libs.stream.log)
2525
}

gradle/libs.versions.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[versions]
22
streamChatSDK = "5.11.7"
3+
streamLog = "1.1.0"
34
sealedx = "1.0.0"
45
landscapist = "2.1.0"
56
accompanist = "0.25.0"
@@ -17,7 +18,7 @@ androidxHiltNavigationCompose = "1.0.0"
1718
androidxLifecycle = "2.6.0-alpha01"
1819
androidxMacroBenchmark = "1.1.0"
1920
androidxNavigation = "2.5.0"
20-
androidxProfileinstaller = "1.2.0-rc01"
21+
androidxProfileinstaller = "1.2.0"
2122
androidxStartup = "1.1.1"
2223
androidxRoom = "2.4.2"
2324
androidxTest = "1.4.0"
@@ -34,15 +35,15 @@ ksp = "1.7.20-1.0.6"
3435
ktlint = "0.43.0"
3536
okhttp = "4.10.0"
3637
retrofit = "2.9.0"
37-
retrofitResultAdapter = "1.0.4"
38+
retrofitResultAdapter = "1.0.5"
3839
retrofitKotlinxSerializationJson = "0.8.0"
39-
spotless = "6.7.2"
40+
spotless = "6.7.0"
4041
turbine = "0.8.0"
41-
timber = "5.0.1"
4242

4343
[libraries]
4444
stream-client = { group = "io.getstream", name = "stream-chat-android-client", version.ref = "streamChatSDK" }
4545
stream-compose = { group = "io.getstream", name = "stream-chat-android-compose", version.ref = "streamChatSDK" }
46+
stream-log = { group = "io.getstream", name = "stream-log-android", version.ref = "streamLog" }
4647
sealedx-core = { group = "com.github.skydoves", name = "sealedx-core", version.ref = "sealedx" }
4748
sealedx-processor = { group = "com.github.skydoves", name = "sealedx-processor", version.ref = "sealedx" }
4849
landscapist-glide = { group = "com.github.skydoves", name = "landscapist-glide", version.ref = "landscapist" }
@@ -88,7 +89,6 @@ turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbine
8889
retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
8990
retrofit-result-adapter = { group = "com.github.skydoves", name = "retrofit-adapters-result", version.ref = "retrofitResultAdapter" }
9091
retrofit-kotlin-serialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofitKotlinxSerializationJson" }
91-
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
9292

9393
# Dependencies of the included build-logic
9494
android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }

0 commit comments

Comments
 (0)