KSLog/src/commonMain/kotlin/CallbackKSLog.kt

23 lines
721 B
Kotlin
Raw Permalink Normal View History

2022-06-09 03:56:27 +00:00
package dev.inmo.kslog.common
2023-11-18 11:15:23 +00:00
import kotlin.jvm.JvmInline
2022-07-30 08:56:26 +00:00
typealias SimpleKSLogCallback = (level: LogLevel, tag: String?, message: Any, throwable: Throwable?) -> Unit
2023-11-18 11:15:23 +00:00
/**
* Creates simple [KSLog] which will pass all incoming [performLog] calls to [performLogCallback]
*/
@JvmInline
value class CallbackKSLog(
2022-07-30 08:56:26 +00:00
private val performLogCallback: SimpleKSLogCallback
2022-06-09 03:56:27 +00:00
) : KSLog {
override fun performLog(level: LogLevel, tag: String?, message: Any, throwable: Throwable?) = performLogCallback(level, tag, message, throwable)
2022-06-09 03:56:27 +00:00
}
2022-07-31 13:09:01 +00:00
2023-11-18 11:15:23 +00:00
/**
* Creating [CallbackKSLog] using [performLogCallback] as an argument for constructor
*/
2022-07-31 13:09:01 +00:00
fun KSLog(
performLogCallback: SimpleKSLogCallback
) = CallbackKSLog(performLogCallback)