This commit is contained in:
2022-06-09 16:29:56 +06:00
parent 10576d32f6
commit de7f735ad0
9 changed files with 111 additions and 72 deletions

View File

@@ -2,25 +2,39 @@ package dev.inmo.kslog.common
class DefaultKSLog(
private val defaultTag: String,
private val filter: MessageFilter = { _, _, _, _ -> true },
val filter: MessageFilter = { _, _, _ -> true },
private val messageFormatter: MessageFormatter = defaultMessageFormatter,
private val logging: (level: LogLevel, tag: String, message: String, throwable: Throwable?) -> Unit
private val logging: (level: LogLevel, tag: String, message: String, throwable: Throwable?) -> Unit = defaultLogging
) : KSLog {
override fun performLog(level: LogLevel, tag: String?, message: String, throwable: Throwable?) {
TODO("Not yet implemented")
val tag = tag ?: defaultTag
if (filter(level, tag, throwable)) {
val text = messageFormatter(level, tag, message, throwable)
logging(level, tag, text, throwable)
}
}
override fun performLog(level: LogLevel, tag: String?, throwable: Throwable?, messageBuilder: () -> String) {
super.performLog(level, tag, throwable, messageBuilder)
val tag = tag ?: defaultTag
if (filter(level, tag, throwable)) {
val text = messageFormatter(level, tag, messageBuilder(), throwable)
logging(level, tag, text, throwable)
}
}
override suspend fun performLog(
override suspend fun performLogS(
level: LogLevel,
tag: String?,
throwable: Throwable?,
messageBuilder: suspend () -> String
) {
if (filter(level, tag, ))
super.performLog(level, tag, throwable, messageBuilder)
val tag = tag ?: defaultTag
if (filter(level, tag, throwable)) {
val text = messageFormatter(level, tag, messageBuilder(), throwable)
logging(level, tag, text, throwable)
}
}
}