Skip to content

Commit ce4ad44

Browse files
authored
Merge pull request #951 from sproctor/fix-min-loglevel
Fix min loglevel
2 parents 7fa9362 + 24c74d9 commit ce4ad44

File tree

3 files changed

+16
-31
lines changed

3 files changed

+16
-31
lines changed

Supabase/src/commonMain/kotlin/io/github/jan/supabase/SupabaseClient.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,20 @@ interface SupabaseClient {
7373
companion object {
7474

7575
/**
76-
* The default logging level used for plugins. Can be changed within the [SupabaseClientBuilder]
76+
* The default minimum logging level used for plugins. Can be changed within the [SupabaseClientBuilder]
7777
*/
7878
var DEFAULT_LOG_LEVEL = LogLevel.INFO
7979
internal set
8080

81-
val LOGGER = createLogger("Supabase-Core")
81+
val LOGGER: SupabaseLogger = createLogger("Supabase-Core")
8282

8383
/**
8484
* Creates a new [SupabaseLogger] using the [KermitSupabaseLogger] implementation.
8585
* @param tag The tag for the logger
8686
* @param level The logging level. If set to null, the [DEFAULT_LOG_LEVEL] property will be used instead
8787
*/
88-
fun createLogger(tag: String, level: LogLevel? = null) = KermitSupabaseLogger(level, tag)
88+
fun createLogger(tag: String, level: LogLevel? = null): SupabaseLogger =
89+
KermitSupabaseLogger(level ?: DEFAULT_LOG_LEVEL, tag)
8990

9091
}
9192

Supabase/src/commonMain/kotlin/io/github/jan/supabase/logging/SupabaseLogger.kt

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@ package io.github.jan.supabase.logging
33
import co.touchlab.kermit.Logger
44
import co.touchlab.kermit.Severity
55
import io.github.jan.supabase.SupabaseClient
6-
import io.github.jan.supabase.annotations.SupabaseInternal
76

87
/**
98
* An interface for logging in Supabase plugins.
109
*/
1110
abstract class SupabaseLogger {
1211

1312
/**
14-
* The log level for this logger. If null, the [SupabaseClient.DEFAULT_LOG_LEVEL] will be used.
13+
* The minimum log level to handle for this logger. If null, the [SupabaseClient.DEFAULT_LOG_LEVEL] will be used.
1514
*/
1615
abstract val level: LogLevel?
1716

@@ -35,37 +34,29 @@ abstract class SupabaseLogger {
3534
}
3635
}
3736

38-
/**
39-
* Set the log level for this logger
40-
* @param level The log level
41-
*/
42-
@SupabaseInternal
43-
abstract fun setLevel(level: LogLevel)
44-
4537
}
4638

4739
/**
4840
* A logger implementation using the Kermit logger.
49-
* @param level The log level for this logger. If null, the [SupabaseClient.DEFAULT_LOG_LEVEL] will be used.
41+
* @param level The minimum log level for this logger.
5042
* @param tag The tag for this logger
5143
* @param logger The Kermit logger
5244
*/
53-
class KermitSupabaseLogger(level: LogLevel?, tag: String, private val logger: Logger = Logger.withTag(tag)):
54-
SupabaseLogger() {
55-
56-
override var level: LogLevel? = level
57-
private set
58-
59-
@SupabaseInternal
60-
override fun setLevel(level: LogLevel) {
61-
this.level = level
45+
internal class KermitSupabaseLogger(
46+
override val level: LogLevel,
47+
tag: String,
48+
private val logger: Logger = Logger.withTag(tag)
49+
) : SupabaseLogger() {
50+
51+
init {
52+
logger.mutableConfig.minSeverity = level.toSeverity()
6253
}
6354

64-
override fun log(level: LogLevel, throwable: Throwable?, message: String) {
55+
override fun log(level: LogLevel, throwable: Throwable?, message: String) {
6556
logger.log(level.toSeverity(), logger.tag, throwable, message)
6657
}
6758

68-
private fun LogLevel.toSeverity() = when(this) {
59+
private fun LogLevel.toSeverity() = when (this) {
6960
LogLevel.DEBUG -> Severity.Debug
7061
LogLevel.INFO -> Severity.Info
7162
LogLevel.WARNING -> Severity.Warn

Supabase/src/commonMain/kotlin/io/github/jan/supabase/plugins/SupabasePluginProvider.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,4 @@ interface SupabasePluginProvider<Config, PluginInstance : SupabasePlugin<Config>
3535
*/
3636
fun create(supabaseClient: SupabaseClient, config: Config) : PluginInstance
3737

38-
/**
39-
* Updates the plugin's log level
40-
*/
41-
fun setLogLevel(level: LogLevel) {
42-
logger.setLevel(level)
43-
}
44-
4538
}

0 commit comments

Comments
 (0)