diff options
2 files changed, 28 insertions, 16 deletions
diff --git a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/logging/Logger.kt b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/logging/Logger.kt index 82ce50a9..ade9b480 100644 --- a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/logging/Logger.kt +++ b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/logging/Logger.kt @@ -31,11 +31,21 @@ class Logger(logger: org.slf4j.Logger) { constructor(clazz: KClass<out Any>) : this(LoggerFactory.getLogger(clazz.java)) constructor(name: String) : this(LoggerFactory.getLogger(name)) - private val errorLogger = if (logger.isErrorEnabled) ErrorLevelLogger(logger) else OffLevelLogger - private val warnLogger = if (logger.isWarnEnabled) WarnLevelLogger(logger) else OffLevelLogger - private val infoLogger = if (logger.isInfoEnabled) InfoLevelLogger(logger) else OffLevelLogger - private val debugLogger = if (logger.isDebugEnabled) DebugLevelLogger(logger) else OffLevelLogger - private val traceLogger = if (logger.isTraceEnabled) TraceLevelLogger(logger) else OffLevelLogger + private val errorLogger by lazy { + if (logger.isErrorEnabled) ErrorLevelLogger(logger) else OffLevelLogger + } + private val warnLogger by lazy { + if (logger.isWarnEnabled) WarnLevelLogger(logger) else OffLevelLogger + } + private val infoLogger by lazy { + if (logger.isInfoEnabled) InfoLevelLogger(logger) else OffLevelLogger + } + private val debugLogger by lazy { + if (logger.isDebugEnabled) DebugLevelLogger(logger) else OffLevelLogger + } + private val traceLogger by lazy { + if (logger.isTraceEnabled) TraceLevelLogger(logger) else OffLevelLogger + } // ERROR diff --git a/sources/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/logging/LoggerTest.kt b/sources/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/logging/LoggerTest.kt index 10fc8d8f..c4086496 100644 --- a/sources/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/logging/LoggerTest.kt +++ b/sources/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/logging/LoggerTest.kt @@ -19,10 +19,7 @@ */ package org.onap.dcae.collectors.veshv.utils.logging -import com.nhaarman.mockitokotlin2.mock -import com.nhaarman.mockitokotlin2.verify -import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions -import com.nhaarman.mockitokotlin2.whenever +import com.nhaarman.mockitokotlin2.* import org.jetbrains.spek.api.Spek import org.jetbrains.spek.api.dsl.describe import org.jetbrains.spek.api.dsl.it @@ -34,13 +31,7 @@ import org.jetbrains.spek.api.dsl.it object LoggerTest : Spek({ lateinit var slf4jLogger: org.slf4j.Logger - fun cut() = Logger(slf4jLogger).also { - verify(slf4jLogger).isTraceEnabled - verify(slf4jLogger).isDebugEnabled - verify(slf4jLogger).isInfoEnabled - verify(slf4jLogger).isWarnEnabled - verify(slf4jLogger).isErrorEnabled - } + fun cut() = Logger(slf4jLogger) beforeEachTest { slf4jLogger = mock() @@ -54,6 +45,17 @@ object LoggerTest : Spek({ val message = "sample message" val exception = Exception("fail") + describe("before first use") { + it("should not initialize AtLeverLoggers") { + cut() + verify(slf4jLogger, never()).isTraceEnabled + verify(slf4jLogger, never()).isDebugEnabled + verify(slf4jLogger, never()).isInfoEnabled + verify(slf4jLogger, never()).isWarnEnabled + verify(slf4jLogger, never()).isErrorEnabled + } + } + describe("debug levels") { describe("lazy logging message") { |