2022-06-07 14:02:59 +00:00
|
|
|
package dev.inmo.kslog.common
|
2022-06-07 13:26:11 +00:00
|
|
|
|
|
|
|
import java.util.logging.Level
|
|
|
|
|
|
|
|
actual fun Logger(
|
|
|
|
defaultTag: String,
|
|
|
|
filter: (l: LogLevel, m: String, t: String, Throwable?) -> Boolean
|
|
|
|
): Logger {
|
|
|
|
val logger = java.util.logging.Logger.getLogger(defaultTag)
|
|
|
|
return Logger { l, m, t, e ->
|
|
|
|
if (!filter(l, m, t ?: defaultTag, e)) return@Logger
|
|
|
|
val currentLogger = t ?.let { java.util.logging.Logger.getLogger(t) } ?: logger
|
|
|
|
currentLogger.log(
|
|
|
|
when(l) {
|
|
|
|
LogLevel.VERBOSE -> Level.FINEST
|
|
|
|
LogLevel.INFO -> Level.INFO
|
|
|
|
LogLevel.WARNING -> Level.WARNING
|
|
|
|
LogLevel.ERROR -> Level.SEVERE
|
|
|
|
LogLevel.ASSERT -> Level.OFF
|
|
|
|
LogLevel.DEBUG -> Level.ALL
|
|
|
|
},
|
|
|
|
m,
|
|
|
|
e
|
|
|
|
)
|
|
|
|
}
|
2022-06-07 14:02:59 +00:00
|
|
|
}
|