From 13893d4ba371f5df6f45bab56dc30aaf8cdbe81d Mon Sep 17 00:00:00 2001 From: Arnaud Giuliani Date: Fri, 29 Dec 2023 09:57:23 +0100 Subject: [PATCH] 3.2.4-rc2 - Revert Logger API from "import updates from 3.5 for Scope parallele resolution fix - #1561" --- .../org/koin/android/logger/AndroidLogger.kt | 9 ++++- .../org/koin/core/logger/EmptyLogger.kt | 3 +- .../kotlin/org/koin/core/logger/Logger.kt | 37 ++++++++++--------- .../kotlin/org/koin/core/scope/Scope.kt | 4 +- .../org/koin/core/logger/PrintLogger.kt | 6 ++- .../org/koin/core/logger/PrintLogger.kt | 9 +++-- .../org/koin/core/logger/PrintLogger.kt | 6 ++- gradle/versions.gradle | 4 +- 8 files changed, 46 insertions(+), 32 deletions(-) diff --git a/android/koin-android/src/main/java/org/koin/android/logger/AndroidLogger.kt b/android/koin-android/src/main/java/org/koin/android/logger/AndroidLogger.kt index 8f4781715..a49f2672f 100644 --- a/android/koin-android/src/main/java/org/koin/android/logger/AndroidLogger.kt +++ b/android/koin-android/src/main/java/org/koin/android/logger/AndroidLogger.kt @@ -28,11 +28,16 @@ import org.koin.core.logger.MESSAGE */ class AndroidLogger(level: Level = Level.INFO) : Logger(level) { - override fun display(level: Level, msg: MESSAGE) { + 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 -> Log.d(KOIN_TAG, msg) Level.INFO -> Log.i(KOIN_TAG, msg) - Level.WARNING -> Log.w(KOIN_TAG, msg) Level.ERROR -> Log.e(KOIN_TAG, msg) else -> Log.e(KOIN_TAG, msg) } diff --git a/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/EmptyLogger.kt b/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/EmptyLogger.kt index b07982f76..754e5a767 100644 --- a/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/EmptyLogger.kt +++ b/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/EmptyLogger.kt @@ -20,5 +20,6 @@ package org.koin.core.logger */ class EmptyLogger : Logger(Level.NONE) { - override fun display(level: Level, msg: MESSAGE) {} + override fun log(level: Level, msg: MESSAGE) { + } } \ No newline at end of file diff --git a/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/Logger.kt b/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/Logger.kt index c65a8693f..999969d78 100644 --- a/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/Logger.kt +++ b/core/koin-core/src/commonMain/kotlin/org/koin/core/logger/Logger.kt @@ -1,5 +1,5 @@ /* - * Copyright 2017-Present the original author or authors. + * Copyright 2017-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,39 +22,42 @@ package org.koin.core.logger */ abstract class Logger(var level: Level = Level.INFO) { - abstract fun display(level: Level, msg: MESSAGE) + abstract fun log(level: Level, msg: MESSAGE) - fun debug(msg: MESSAGE) { - log(Level.DEBUG, msg) + private fun canLog(level: Level): Boolean = this.level <= level + + private fun doLog(level: Level, msg: MESSAGE) { + if (canLog(level)) { + log(level, msg) + } } - fun info(msg: MESSAGE) { - log(Level.INFO, msg) + fun debug(msg: MESSAGE) { + doLog(Level.DEBUG, msg) } - fun warn(msg: MESSAGE) { - log(Level.WARNING, msg) + fun info(msg: MESSAGE) { + doLog(Level.INFO, msg) } fun error(msg: MESSAGE) { - log(Level.ERROR, msg) + doLog(Level.ERROR, msg) } fun isAt(lvl: Level): Boolean = this.level <= lvl - fun log(lvl: Level, msg: String) { - if (isAt(lvl)) display(lvl, msg) - } - - fun log(lvl: Level, msg: () -> String) { - if (isAt(lvl)) display(lvl, msg()) + fun log(lvl: Level, msg : () -> String){ + if (isAt(lvl)) doLog(lvl,msg()) } } const val KOIN_TAG = "[Koin]" +/** + * Log Level + */ enum class Level { - DEBUG, INFO, WARNING, ERROR, NONE + DEBUG, INFO, ERROR, NONE } -typealias MESSAGE = String +typealias MESSAGE = String \ No newline at end of file diff --git a/core/koin-core/src/commonMain/kotlin/org/koin/core/scope/Scope.kt b/core/koin-core/src/commonMain/kotlin/org/koin/core/scope/Scope.kt index e8666bd89..44fe3f901 100644 --- a/core/koin-core/src/commonMain/kotlin/org/koin/core/scope/Scope.kt +++ b/core/koin-core/src/commonMain/kotlin/org/koin/core/scope/Scope.kt @@ -198,14 +198,14 @@ data class Scope( ): T { return if (_koin.logger.isAt(Level.DEBUG)) { val qualifierString = qualifier?.let { " with qualifier '$qualifier'" } ?: "" - _koin.logger.display(Level.DEBUG, "|- '${clazz.getFullName()}'$qualifierString ...") + _koin.logger.debug("|- '${clazz.getFullName()}'$qualifierString ...") val start = KoinPlatformTimeTools.getTimeInNanoSeconds() val instance = resolveInstance(qualifier, clazz, parameters) val stop = KoinPlatformTimeTools.getTimeInNanoSeconds() val duration = (stop - start) / Timer.NANO_TO_MILLI - _koin.logger.display(Level.DEBUG, "|- '${clazz.getFullName()}' in $duration ms") + _koin.logger.debug("|- '${clazz.getFullName()}' in $duration ms") instance } else { resolveInstance(qualifier, clazz, parameters) diff --git a/core/koin-core/src/jsMain/kotlin/org/koin/core/logger/PrintLogger.kt b/core/koin-core/src/jsMain/kotlin/org/koin/core/logger/PrintLogger.kt index 5df248ae2..81a6cfd8a 100644 --- a/core/koin-core/src/jsMain/kotlin/org/koin/core/logger/PrintLogger.kt +++ b/core/koin-core/src/jsMain/kotlin/org/koin/core/logger/PrintLogger.kt @@ -21,7 +21,9 @@ package org.koin.core.logger */ class PrintLogger(level: Level = Level.INFO) : Logger(level) { - override fun display(level: Level, msg: MESSAGE) { - println("[$level] $KOIN_TAG $msg") + override fun log(level: Level, msg: MESSAGE) { + if (this.level <= level) { + println("[$level] $KOIN_TAG $msg") + } } } diff --git a/core/koin-core/src/jvmMain/kotlin/org/koin/core/logger/PrintLogger.kt b/core/koin-core/src/jvmMain/kotlin/org/koin/core/logger/PrintLogger.kt index 99706440c..accd9e141 100644 --- a/core/koin-core/src/jvmMain/kotlin/org/koin/core/logger/PrintLogger.kt +++ b/core/koin-core/src/jvmMain/kotlin/org/koin/core/logger/PrintLogger.kt @@ -21,9 +21,10 @@ package org.koin.core.logger */ class PrintLogger(level: Level = Level.INFO) : Logger(level) { - private val printer = if (level >= Level.WARNING) System.err else System.out - - override fun display(level: Level, msg: MESSAGE) { - printer.println("[$level] $KOIN_TAG $msg") + override fun log(level: Level, msg: MESSAGE) { + if (this.level <= level) { + val printer = if (level >= Level.ERROR) System.err else System.out + printer.println("[$level] $KOIN_TAG $msg") + } } } diff --git a/core/koin-core/src/nativeMain/kotlin/org/koin/core/logger/PrintLogger.kt b/core/koin-core/src/nativeMain/kotlin/org/koin/core/logger/PrintLogger.kt index 5df248ae2..81a6cfd8a 100644 --- a/core/koin-core/src/nativeMain/kotlin/org/koin/core/logger/PrintLogger.kt +++ b/core/koin-core/src/nativeMain/kotlin/org/koin/core/logger/PrintLogger.kt @@ -21,7 +21,9 @@ package org.koin.core.logger */ class PrintLogger(level: Level = Level.INFO) : Logger(level) { - override fun display(level: Level, msg: MESSAGE) { - println("[$level] $KOIN_TAG $msg") + override fun log(level: Level, msg: MESSAGE) { + if (this.level <= level) { + println("[$level] $KOIN_TAG $msg") + } } } diff --git a/gradle/versions.gradle b/gradle/versions.gradle index bbb77aa0d..50200b5ee 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -1,7 +1,7 @@ ext { // Koin Versions - koin_version = '3.2.4-rc1' - koin_android_version = '3.2.4-rc1' + koin_version = '3.2.4-rc2' + koin_android_version = '3.2.4-rc2' // Kotlin kotlin_version = '1.6.21'