@@ -3,15 +3,14 @@ package io.github.jan.supabase.logging
3
3
import co.touchlab.kermit.Logger
4
4
import co.touchlab.kermit.Severity
5
5
import io.github.jan.supabase.SupabaseClient
6
- import io.github.jan.supabase.annotations.SupabaseInternal
7
6
8
7
/* *
9
8
* An interface for logging in Supabase plugins.
10
9
*/
11
10
abstract class SupabaseLogger {
12
11
13
12
/* *
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.
15
14
*/
16
15
abstract val level: LogLevel ?
17
16
@@ -35,37 +34,29 @@ abstract class SupabaseLogger {
35
34
}
36
35
}
37
36
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
-
45
37
}
46
38
47
39
/* *
48
40
* 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.
50
42
* @param tag The tag for this logger
51
43
* @param logger The Kermit logger
52
44
*/
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()
62
53
}
63
54
64
- override fun log (level : LogLevel , throwable : Throwable ? , message : String ) {
55
+ override fun log (level : LogLevel , throwable : Throwable ? , message : String ) {
65
56
logger.log(level.toSeverity(), logger.tag, throwable, message)
66
57
}
67
58
68
- private fun LogLevel.toSeverity () = when (this ) {
59
+ private fun LogLevel.toSeverity () = when (this ) {
69
60
LogLevel .DEBUG -> Severity .Debug
70
61
LogLevel .INFO -> Severity .Info
71
62
LogLevel .WARNING -> Severity .Warn
0 commit comments