@@ -40,13 +40,23 @@ private class KermitLogWriterAdapter: Kermit_coreLogWriter {
40
40
}
41
41
}
42
42
43
+ class KotlinKermitLoggerConfig : PowerSyncKotlin . Kermit_coreLoggerConfig {
44
+ var logWriterList : [ Kermit_coreLogWriter ]
45
+ var minSeverity : PowerSyncKotlin . Kermit_coreSeverity
46
+
47
+ init ( logWriterList: [ Kermit_coreLogWriter ] , minSeverity: PowerSyncKotlin . Kermit_coreSeverity ) {
48
+ self . logWriterList = logWriterList
49
+ self . minSeverity = minSeverity
50
+ }
51
+ }
52
+
43
53
/// A logger implementation that integrates with PowerSync's Kotlin core using Kermit.
44
54
///
45
55
/// This class bridges Swift log writers with the Kotlin logging system and supports
46
56
/// runtime configuration of severity levels and writer lists.
47
57
class DatabaseLogger : LoggerProtocol {
48
58
/// The underlying Kermit logger instance provided by the PowerSyncKotlin SDK.
49
- public let kLogger = PowerSyncKotlin . generateLogger ( logger : nil )
59
+ public let kLogger : PowerSyncKotlin . KermitLogger
50
60
public let logger : any LoggerProtocol
51
61
52
62
/// Initializes a new logger with an optional list of writers.
@@ -55,9 +65,12 @@ class DatabaseLogger: LoggerProtocol {
55
65
init ( _ logger: any LoggerProtocol ) {
56
66
self . logger = logger
57
67
// Set to the lowest severity. The provided logger should filter by severity
58
- kLogger. mutableConfig. setMinSeverity ( Kermit_coreSeverity . verbose)
59
- kLogger. mutableConfig. setLogWriterList (
60
- [ KermitLogWriterAdapter ( logger: logger) ]
68
+ self . kLogger = PowerSyncKotlin . KermitLogger (
69
+ config: KotlinKermitLoggerConfig (
70
+ logWriterList: [ KermitLogWriterAdapter ( logger: logger) ] ,
71
+ minSeverity: Kermit_coreSeverity . verbose
72
+ ) ,
73
+ tag: " PowerSync "
61
74
)
62
75
}
63
76
0 commit comments