ultrasonic-app-subsonic-and.../ultrasonic/src/main/kotlin/org/moire/ultrasonic/log/TimberKoinLogger.kt

28 lines
675 B
Kotlin

package org.moire.ultrasonic.log
import org.koin.core.logger.Level
import org.koin.core.logger.Logger
import org.koin.core.logger.MESSAGE
import timber.log.Timber
/**
* Timber Logger implementation for Koin
*/
class TimberKoinLogger(level: Level = Level.INFO) : Logger(level) {
override fun log(level: Level, msg: MESSAGE) {
if (this.level <= level) {
logOnLevel(msg, level)
}
}
private fun logOnLevel(msg: MESSAGE, level: Level) {
when (level) {
Level.DEBUG -> Timber.d(msg)
Level.INFO -> Timber.i(msg)
Level.ERROR -> Timber.e(msg)
else -> Timber.e(msg)
}
}
}