diff --git a/fleet/util/logging/api/src/fleet/util/logging/KLoggers.kt b/fleet/util/logging/api/src/fleet/util/logging/KLoggers.kt index 412959b7de43..cc1f386bde04 100644 --- a/fleet/util/logging/api/src/fleet/util/logging/KLoggers.kt +++ b/fleet/util/logging/api/src/fleet/util/logging/KLoggers.kt @@ -2,10 +2,12 @@ package fleet.util.logging import fleet.util.logging.slf4j.Slf4jKLoggerFactory +import java.util.ServiceLoader import kotlin.reflect.KClass object KLoggers { - private val customFactory = Slf4jKLoggerFactory() + private val customFactory = ServiceLoader.load(KLoggerFactory::class.java, KLoggerFactory::class.java.classLoader).firstOrNull() + ?: Slf4jKLoggerFactory() fun logger(owner: KClass<*>) = customFactory.logger(owner) fun logger(owner: Class<*>) = customFactory.logger(owner) fun logger(owner: Any) = customFactory.logger(owner) diff --git a/fleet/util/logging/api/src/module-info.java b/fleet/util/logging/api/src/module-info.java index 9c0f87449c1e..e088dde94b64 100644 --- a/fleet/util/logging/api/src/module-info.java +++ b/fleet/util/logging/api/src/module-info.java @@ -12,4 +12,5 @@ module fleet.util.logging.api { provides SLF4JServiceProvider with FleetSlf4jServiceProvider; uses SLF4JServiceProvider; + uses fleet.util.logging.KLoggerFactory; } \ No newline at end of file