mirror of
https://github.com/InsanusMokrassar/KSLog.git
synced 2025-11-14 10:20:11 +00:00
rewrite of API with expect-actual and removing of redundant platform-specific factory names
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
package dev.inmo.kslog.common
|
||||
|
||||
fun KSJSLog(
|
||||
actual fun KSLog(
|
||||
defaultTag: String,
|
||||
messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
filter: (l: LogLevel, t: String?, m: String, Throwable?) -> Boolean
|
||||
) = KSLog { l, t, m, e ->
|
||||
filter: MessageFilter,
|
||||
messageFormatter: MessageFormatter
|
||||
): KSLog = KSLog { l, t, m, e ->
|
||||
if (!filter(l, t, m, e)) return@KSLog
|
||||
val text = messageFormatter(l, t?:defaultTag, m, e)
|
||||
val args = e ?.let {
|
||||
@@ -19,30 +19,3 @@ fun KSJSLog(
|
||||
LogLevel.ASSERT -> console.error(*args)
|
||||
}
|
||||
}
|
||||
|
||||
fun KSJSLog(
|
||||
defaultTag: String,
|
||||
messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
levels: Iterable<LogLevel>
|
||||
): KSLog {
|
||||
val levels = levels.toSet()
|
||||
return KSJSLog (defaultTag, messageFormatter) { l, _, _, _ ->
|
||||
l in levels
|
||||
}
|
||||
}
|
||||
|
||||
fun KSJSLog(
|
||||
defaultTag: String,
|
||||
messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
firstLevel: LogLevel,
|
||||
secondLevel: LogLevel,
|
||||
vararg otherLevels: LogLevel
|
||||
): KSLog = KSJSLog (defaultTag, messageFormatter, setOf(firstLevel, secondLevel, *otherLevels))
|
||||
|
||||
fun KSJSLog(
|
||||
defaultTag: String,
|
||||
messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
minLoggingLevel: LogLevel = LogLevel.values().first()
|
||||
): KSLog = KSJSLog (defaultTag, messageFormatter) { l, _, _, _ ->
|
||||
minLoggingLevel.ordinal <= l.ordinal
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user