Logging Configuration#
Stork uses JBoss Logging for all its logging needs. JBoss Logging is a logging facade that can delegate to various logging frameworks such as Log4j, SLF4J, or JDK logging.
Logger Categories#
Stork uses the following main logger categories:
Core Loggers#
io.smallrye.stork.Stork- Main Stork class, logs service initialization and configurationio.smallrye.stork.impl.CachingServiceDiscovery- Service discovery caching operationsio.smallrye.stork.utils.StorkConfigUtils- Configuration parsing and validation
Service Discovery Loggers#
io.smallrye.stork.servicediscovery.kubernetes.KubernetesServiceDiscovery- Kubernetes service discovery eventsio.smallrye.stork.servicediscovery.dns.DnsServiceDiscovery- DNS-based service discoveryio.smallrye.stork.servicediscovery.knative.KnativeServiceDiscovery- KNative service discovery events
Load Balancer Loggers#
io.smallrye.stork.loadbalancer.leastresponsetime.LeastResponseTimeLoadBalancer- Least response time load balancer selection logic
Service Registration Loggers#
io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrar- Consul service registration/deregistrationio.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrarProvider- Consul registrar provider initializationio.smallrye.stork.serviceregistration.staticlist.StaticListServiceRegistrar- Static list service registrationio.smallrye.stork.serviceregistration.staticlist.StaticListServiceRegistrarProvider- Static list registrar providerio.smallrye.stork.serviceregistration.eureka.EurekaServiceRegistrar- Eureka service registration/deregistration
Configuration Provider Loggers#
io.smallrye.stork.microprofile.MicroProfileConfigProvider- MicroProfile configuration loading
Configuring Log Levels with Quarkus#
In your application.properties:
# Set global Stork log level
quarkus.log.category."io.smallrye.stork".level=DEBUG
# Service discovery logging
quarkus.log.category."io.smallrye.stork.servicediscovery".level=DEBUG
# Specific implementations
quarkus.log.category."io.smallrye.stork.servicediscovery.kubernetes.KubernetesServiceDiscovery".level=TRACE
quarkus.log.category."io.smallrye.stork.servicediscovery.dns.DnsServiceDiscovery".level=DEBUG
# Load balancer logging
quarkus.log.category."io.smallrye.stork.loadbalancer".level=DEBUG
# Service registration logging
quarkus.log.category."io.smallrye.stork.serviceregistration".level=INFO
quarkus.log.category."io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrar".level=DEBUG
# Console output format
quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n
Troubleshooting#
Too Many Logs#
If you’re getting too many debug logs in production:
-
Set the root Stork logger to INFO or WARN:
-
Selectively enable DEBUG only for components you’re troubleshooting