mirror of
https://github.com/InsanusMokrassar/KSLog.git
synced 2025-09-16 13:39:26 +00:00
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.0.2
|
||||||
|
|
||||||
|
* New logger `TagLogger` and now extension `Any#logger` will use it to decrease objects allocations
|
||||||
|
* Now it is possible to create `KSLog` using any iterable
|
||||||
|
* Now it is possible to create `KSLog` using vararg log levels
|
||||||
|
|
||||||
## 0.0.1
|
## 0.0.1
|
||||||
|
|
||||||
* Project has been inited
|
* Project has been inited
|
||||||
|
@@ -9,5 +9,5 @@ android.enableJetifier=true
|
|||||||
# Project data
|
# Project data
|
||||||
|
|
||||||
group=dev.inmo
|
group=dev.inmo
|
||||||
version=0.0.1
|
version=0.0.2
|
||||||
android_code_version=1
|
android_code_version=2
|
||||||
|
@@ -2,7 +2,5 @@ package dev.inmo.kslog.common
|
|||||||
|
|
||||||
val Any.logTag
|
val Any.logTag
|
||||||
get() = this::class.simpleName ?: error("Unable to retrieve log tag")
|
get() = this::class.simpleName ?: error("Unable to retrieve log tag")
|
||||||
val Any.logger
|
val Any.logger: KSLog
|
||||||
get() = CallbackKSLog { l, t, m, e ->
|
get() = TagLogger(logTag)
|
||||||
KSLog.default.performLog(l, t ?: logTag, m, e)
|
|
||||||
}
|
|
||||||
|
@@ -44,11 +44,21 @@ expect fun KSLog(
|
|||||||
|
|
||||||
fun KSLog(
|
fun KSLog(
|
||||||
defaultTag: String,
|
defaultTag: String,
|
||||||
levels: Set<LogLevel>
|
levels: Iterable<LogLevel>
|
||||||
): KSLog = KSLog (defaultTag) { l, _, _, _ ->
|
): KSLog {
|
||||||
|
val levels = levels.toSet()
|
||||||
|
return KSLog (defaultTag) { l, _, _, _ ->
|
||||||
l in levels
|
l in levels
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline fun KSLog(
|
||||||
|
defaultTag: String,
|
||||||
|
firstLevel: LogLevel,
|
||||||
|
secondLevel: LogLevel,
|
||||||
|
vararg otherLevels: LogLevel
|
||||||
|
): KSLog = KSLog(defaultTag, setOf(firstLevel, secondLevel, *otherLevels))
|
||||||
|
|
||||||
fun KSLog(
|
fun KSLog(
|
||||||
defaultTag: String,
|
defaultTag: String,
|
||||||
minLoggingLevel: LogLevel = LogLevel.VERBOSE
|
minLoggingLevel: LogLevel = LogLevel.VERBOSE
|
||||||
|
10
src/commonMain/kotlin/TagLogger.kt
Normal file
10
src/commonMain/kotlin/TagLogger.kt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
package dev.inmo.kslog.common
|
||||||
|
|
||||||
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
|
@JvmInline
|
||||||
|
value class TagLogger(val tag: String) : KSLog {
|
||||||
|
override fun performLog(level: LogLevel, tag: String?, message: String, throwable: Throwable?) {
|
||||||
|
KSLog.performLog(level, tag ?: tag, message, throwable)
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user