Skip to content

Commit e9c6576

Browse files
make Logger configurable (DataSaverConfig.logger)
1 parent 070d0fb commit e9c6576

6 files changed

Lines changed: 61 additions & 52 deletions

File tree

composeApp/build.gradle.kts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,15 @@ plugins {
1111
}
1212

1313
kotlin {
14-
compilerOptions {
15-
freeCompilerArgs.addAll("-Xmulti-platform", "-Xexpect-actual-classes")
16-
}
17-
18-
androidTarget {
19-
compilations.all {
20-
kotlinOptions {
21-
jvmTarget = "1.8"
14+
targets.configureEach {
15+
compilations.configureEach {
16+
compileTaskProvider.get().compilerOptions {
17+
freeCompilerArgs.addAll("-Xexpect-actual-classes")
2218
}
2319
}
2420
}
21+
22+
androidTarget { }
2523

2624
jvm("desktop")
2725

data-saver-core/build.gradle.kts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@ java {
1414
}
1515

1616
kotlin {
17-
androidTarget {
18-
compilations.all {
19-
kotlinOptions {
20-
jvmTarget = "1.8"
17+
targets.configureEach {
18+
compilations.configureEach {
19+
compileTaskProvider.get().compilerOptions {
20+
freeCompilerArgs.addAll("-Xexpect-actual-classes")
2121
}
2222
}
23+
}
2324

25+
androidTarget {
2426
publishAllLibraryVariants()
2527
}
2628

data-saver-core/src/androidMain/kotlin/com/funny/data_saver/kmp/Logger.android.kt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,31 @@ package com.funny.data_saver.kmp
22

33
import android.util.Log as AndroidLog
44

5-
actual object Logger {
5+
actual object LoggerImpl: Logger {
66
private const val TAG = "DefaultLog"
77
// i, d, w, e, v
8-
actual fun d(msg: String) { AndroidLog.d(TAG, msg) }
9-
actual fun d(tag: String, msg: String) { AndroidLog.d(tag, msg) }
10-
actual fun d(tag: String, msg: String, throwable: Throwable) { AndroidLog.d(tag, msg, throwable) }
8+
override fun d(msg: String) { AndroidLog.d(TAG, msg) }
9+
override fun d(tag: String, msg: String) { AndroidLog.d(tag, msg) }
10+
override fun d(tag: String, msg: String, throwable: Throwable) { AndroidLog.d(tag, msg, throwable) }
1111

12-
actual fun i(msg: String) { AndroidLog.i(TAG, msg) }
13-
actual fun i(tag: String, msg: String) { AndroidLog.i(tag, msg) }
14-
actual fun i(tag: String, msg: String, throwable: Throwable) { AndroidLog.i(tag, msg, throwable) }
12+
override fun i(msg: String) { AndroidLog.i(TAG, msg) }
13+
override fun i(tag: String, msg: String) { AndroidLog.i(tag, msg) }
14+
override fun i(tag: String, msg: String, throwable: Throwable) { AndroidLog.i(tag, msg, throwable) }
1515

16-
actual fun w(msg: String) { AndroidLog.w(TAG, msg) }
17-
actual fun w(tag: String, msg: String) { AndroidLog.w(tag, msg) }
18-
actual fun w(tag: String, msg: String, throwable: Throwable) { AndroidLog.w(tag, msg, throwable) }
16+
override fun w(msg: String) { AndroidLog.w(TAG, msg) }
17+
override fun w(tag: String, msg: String) { AndroidLog.w(tag, msg) }
18+
override fun w(tag: String, msg: String, throwable: Throwable) { AndroidLog.w(tag, msg, throwable) }
1919

20-
actual fun e(msg: String) { AndroidLog.e(TAG, msg) }
21-
actual fun e(tag: String, msg: String) { AndroidLog.e(tag, msg) }
22-
actual fun e(tag: String, msg: String, throwable: Throwable) { AndroidLog.e(tag, msg, throwable) }
20+
override fun e(msg: String) { AndroidLog.e(TAG, msg) }
21+
override fun e(tag: String, msg: String) { AndroidLog.e(tag, msg) }
22+
override fun e(tag: String, msg: String, throwable: Throwable) { AndroidLog.e(tag, msg, throwable) }
2323

24-
actual fun v(msg: String) { AndroidLog.v(TAG, msg) }
25-
actual fun v(tag: String, msg: String) { AndroidLog.v(tag, msg) }
26-
actual fun v(tag: String, msg: String, throwable: Throwable) { AndroidLog.v(tag, msg, throwable) }
24+
override fun v(msg: String) { AndroidLog.v(TAG, msg) }
25+
override fun v(tag: String, msg: String) { AndroidLog.v(tag, msg) }
26+
override fun v(tag: String, msg: String, throwable: Throwable) { AndroidLog.v(tag, msg, throwable) }
2727

2828
// wtf
29-
actual fun wtf(msg: String) { AndroidLog.wtf(TAG, msg) }
30-
actual fun wtf(tag: String, msg: String) { AndroidLog.wtf(tag, msg) }
31-
actual fun wtf(tag: String, msg: String, throwable: Throwable) { AndroidLog.wtf(tag, msg, throwable) }
29+
override fun wtf(msg: String) { AndroidLog.wtf(TAG, msg) }
30+
override fun wtf(tag: String, msg: String) { AndroidLog.wtf(tag, msg) }
31+
override fun wtf(tag: String, msg: String, throwable: Throwable) { AndroidLog.wtf(tag, msg, throwable) }
3232
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package com.funny.data_saver.core
22

3+
import com.funny.data_saver.kmp.Logger
4+
import com.funny.data_saver.kmp.LoggerImpl
5+
36
/**
47
* Some config that you can set:
58
* 1. DEBUG: whether to output some debug info
9+
* 2. logger: custom logger
610
*/
711
object DataSaverConfig {
812
var DEBUG = true
13+
var logger: Logger = LoggerImpl
914
}
1015

data-saver-core/src/commonMain/kotlin/com/funny/data_saver/kmp/Logger.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.funny.data_saver.kmp
22

3-
expect object Logger {
3+
import com.funny.data_saver.core.DataSaverConfig
4+
5+
interface Logger {
46
fun d(msg: String) : Unit
57
fun d(tag: String, msg: String) : Unit
68
fun d(tag: String, msg: String, throwable: Throwable) : Unit
@@ -26,4 +28,6 @@ expect object Logger {
2628
fun wtf(tag: String, msg: String, throwable: Throwable) : Unit
2729
}
2830

29-
typealias Log = Logger
31+
expect object LoggerImpl: Logger
32+
33+
val Log get() = DataSaverConfig.logger

data-saver-core/src/desktopMain/kotlin/com/funny/data_saver/kmp/Logger.desktop.kt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,82 +9,82 @@ enum class LogLevel {
99
WTF
1010
}
1111

12-
actual object Logger {
12+
actual object LoggerImpl: Logger {
1313
private fun log(level: LogLevel, tag: String = "DefaultLog", msg: String = "", throwable: Throwable? = null) {
1414
println("[${level.name}] $tag: $msg")
1515
throwable?.printStackTrace()
1616
}
1717

18-
actual fun d(msg: String) {
18+
override fun d(msg: String) {
1919
log(LogLevel.DEBUG, msg = msg)
2020
}
2121

22-
actual fun d(tag: String, msg: String) {
22+
override fun d(tag: String, msg: String) {
2323
log(LogLevel.DEBUG, tag, msg)
2424
}
2525

26-
actual fun d(tag: String, msg: String, throwable: Throwable) {
26+
override fun d(tag: String, msg: String, throwable: Throwable) {
2727
log(LogLevel.DEBUG, tag, msg, throwable)
2828
}
2929

30-
actual fun i(msg: String) {
30+
override fun i(msg: String) {
3131
log(LogLevel.INFO, msg = msg)
3232
}
3333

34-
actual fun i(tag: String, msg: String) {
34+
override fun i(tag: String, msg: String) {
3535
log(LogLevel.INFO, tag, msg)
3636
}
3737

38-
actual fun i(tag: String, msg: String, throwable: Throwable) {
38+
override fun i(tag: String, msg: String, throwable: Throwable) {
3939
log(LogLevel.INFO, tag, msg, throwable)
4040
}
4141

42-
actual fun e(msg: String) {
42+
override fun e(msg: String) {
4343
log(LogLevel.ERROR, msg = msg)
4444
}
4545

46-
actual fun e(tag: String, msg: String) {
46+
override fun e(tag: String, msg: String) {
4747
log(LogLevel.ERROR, tag, msg)
4848
}
4949

50-
actual fun e(tag: String, msg: String, throwable: Throwable) {
50+
override fun e(tag: String, msg: String, throwable: Throwable) {
5151
log(LogLevel.ERROR, tag, msg, throwable)
5252
}
5353

54-
actual fun w(msg: String) {
54+
override fun w(msg: String) {
5555
log(LogLevel.WARNING, msg = msg)
5656
}
5757

58-
actual fun w(tag: String, msg: String) {
58+
override fun w(tag: String, msg: String) {
5959
log(LogLevel.WARNING, tag, msg)
6060
}
6161

62-
actual fun w(tag: String, msg: String, throwable: Throwable) {
62+
override fun w(tag: String, msg: String, throwable: Throwable) {
6363
log(LogLevel.WARNING, tag, msg, throwable)
6464
}
6565

6666

67-
actual fun wtf(msg: String) {
67+
override fun wtf(msg: String) {
6868
log(LogLevel.WTF, msg = msg)
6969
}
7070

71-
actual fun wtf(tag: String, msg: String) {
71+
override fun wtf(tag: String, msg: String) {
7272
log(LogLevel.WTF, tag, msg)
7373
}
7474

75-
actual fun wtf(tag: String, msg: String, throwable: Throwable) {
75+
override fun wtf(tag: String, msg: String, throwable: Throwable) {
7676
log(LogLevel.WTF, tag, msg, throwable)
7777
}
7878

79-
actual fun v(msg: String) {
79+
override fun v(msg: String) {
8080
log(LogLevel.VERBOSE, msg = msg)
8181
}
8282

83-
actual fun v(tag: String, msg: String) {
83+
override fun v(tag: String, msg: String) {
8484
log(LogLevel.VERBOSE, tag, msg)
8585
}
8686

87-
actual fun v(tag: String, msg: String, throwable: Throwable) {
87+
override fun v(tag: String, msg: String, throwable: Throwable) {
8888
log(LogLevel.VERBOSE, tag, msg, throwable)
8989
}
9090

0 commit comments

Comments
 (0)