All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jvmMain.io.mockk.impl.log.JvmLogging.kt Maven / Gradle / Ivy

The newest version!
package io.mockk.impl.log

import io.mockk.proxy.MockKAgentLogger
import kotlin.reflect.KClass

object JvmLogging {
    fun slf4jOrJulLogging(): (KClass<*>) -> Logger {
        return try {
            // If we fail to create a logger, then use Java logging.
            Slf4jLogger(JvmLogging::class);
            { cls: KClass<*> -> Slf4jLogger(cls) }
        } catch (throwable: Throwable) {
            if (throwable is ClassNotFoundException || throwable is NoClassDefFoundError) { cls: KClass<*> ->
                JULLogger(cls)
            }
            else {
                throw throwable
            }
        }
    }

    fun Logger.adaptor(): MockKAgentLogger {
        return object : MockKAgentLogger {
            override fun debug(msg: String) {
                [email protected] { msg }
            }

            override fun trace(msg: String) {
                [email protected] { msg }
            }

            override fun trace(ex: Throwable, msg: String) {
                [email protected](ex) { msg }
            }

            override fun warn(msg: String) {
                [email protected] { msg }
            }

            override fun warn(ex: Throwable, msg: String) {
                [email protected](ex) { msg }
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy