1 package org.onap.ccsdk.cds.blueprintsprocessor.uat.logging
3 import ch.qos.logback.classic.spi.ILoggingEvent
4 import ch.qos.logback.core.sift.AbstractDiscriminator
5 import org.onap.ccsdk.cds.blueprintsprocessor.uat.logging.ColorMarker
6 import org.onap.ccsdk.cds.blueprintsprocessor.uat.logging.LogColor.MDC_COLOR_KEY
8 class SmartColorDiscriminator : AbstractDiscriminator<ILoggingEvent>() {
10 var defaultValue: String = "white"
12 override fun getKey(): String {
17 throw UnsupportedOperationException("Key not settable. Using $MDC_COLOR_KEY")
20 override fun getDiscriminatingValue(e: ILoggingEvent): String =
21 (e.marker as? ColorMarker)?.name
22 ?: e.mdcPropertyMap?.get(MDC_COLOR_KEY)