mirror of
https://github.com/InsanusMokrassar/KSLog.git
synced 2025-10-28 01:50:06 +00:00
rewrite way of filters work
This commit is contained in:
@@ -1,27 +1,24 @@
|
||||
package dev.inmo.kslog.common
|
||||
|
||||
import dev.inmo.kslog.common.filter.filtered
|
||||
|
||||
class DefaultKSLog(
|
||||
private val defaultTag: String,
|
||||
val filter: MessageFilter = { _, _, _ -> true },
|
||||
private val messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
private val logging: (level: LogLevel, tag: String, message: Any, throwable: Throwable?) -> Unit = defaultLogging
|
||||
) : KSLog {
|
||||
override fun performLog(level: LogLevel, tag: String?, message: Any, throwable: Throwable?) {
|
||||
val tag = tag ?: defaultTag
|
||||
|
||||
if (filter(level, tag, throwable)) {
|
||||
val text = messageFormatter(level, tag, message, throwable)
|
||||
logging(level, tag, text, throwable)
|
||||
}
|
||||
val text = messageFormatter(level, tag, message, throwable)
|
||||
logging(level, tag, text, throwable)
|
||||
}
|
||||
|
||||
override fun performLog(level: LogLevel, tag: String?, throwable: Throwable?, messageBuilder: () -> Any) {
|
||||
val tag = tag ?: defaultTag
|
||||
|
||||
if (filter(level, tag, throwable)) {
|
||||
val text = messageFormatter(level, tag, messageBuilder(), throwable)
|
||||
logging(level, tag, text, throwable)
|
||||
}
|
||||
val text = messageFormatter(level, tag, messageBuilder(), throwable)
|
||||
logging(level, tag, text, throwable)
|
||||
}
|
||||
|
||||
override suspend fun performLogS(
|
||||
@@ -32,9 +29,17 @@ class DefaultKSLog(
|
||||
) {
|
||||
val tag = tag ?: defaultTag
|
||||
|
||||
if (filter(level, tag, throwable)) {
|
||||
val text = messageFormatter(level, tag, messageBuilder(), throwable)
|
||||
logging(level, tag, text, throwable)
|
||||
}
|
||||
val text = messageFormatter(level, tag, messageBuilder(), throwable)
|
||||
logging(level, tag, text, throwable)
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated("Filtering should be replaced with FilterKSLog")
|
||||
fun DefaultKSLog(
|
||||
defaultTag: String,
|
||||
filter: MessageFilter = { _, _, _ -> true },
|
||||
messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
logging: (level: LogLevel, tag: String, message: Any, throwable: Throwable?) -> Unit = defaultLogging
|
||||
) = DefaultKSLog(
|
||||
defaultTag, messageFormatter, logging
|
||||
).filtered(filter)
|
||||
|
||||
Reference in New Issue
Block a user