You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/01/23 05:08:42 UTC

[camel] 01/05: CAMEL-14421: optimize core - ServiceSupport should not have instance logger. Use static logger instead.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c256b7f0ba2bae06cb1985e23b1b8d9c3be6bee7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Jan 22 11:25:48 2020 +0100

    CAMEL-14421: optimize core - ServiceSupport should not have instance logger. Use static logger instead.
---
 .../camel/support/service/ServiceSupport.java      |  62 ++-----
 .../component/properties/PropertiesComponent.java  |   8 +-
 .../impl/converter/BaseTypeConverterRegistry.java  |  48 +++---
 .../camel/impl/converter/DefaultTypeConverter.java |  10 +-
 .../camel/impl/engine/AbstractCamelContext.java    | 183 +++++++++++----------
 .../apache/camel/impl/engine/BaseRouteService.java |   7 -
 .../engine/DefaultAsyncProcessorAwaitManager.java  |  24 +--
 .../camel/impl/engine/DefaultConsumerCache.java    |  15 +-
 .../camel/impl/engine/DefaultConsumerTemplate.java |   9 +-
 .../impl/engine/DefaultInflightRepository.java     |   8 +-
 .../impl/engine/DefaultManagementStrategy.java     |   6 +-
 .../camel/impl/engine/DefaultProducerCache.java    |  10 +-
 .../engine/DefaultRuntimeEndpointRegistry.java     |   9 +-
 .../camel/impl/engine/DefaultShutdownStrategy.java |  70 ++++----
 .../impl/engine/DefaultStreamCachingStrategy.java  |  42 ++---
 .../camel/impl/engine/DurationRoutePolicy.java     |  14 +-
 .../camel/impl/engine/FileStateRepository.java     |  27 +--
 .../engine/InterceptSendToEndpointProcessor.java   |  15 +-
 .../impl/transformer/DataFormatTransformer.java    |  12 +-
 .../impl/transformer/ProcessorTransformer.java     |  10 +-
 .../camel/processor/CamelInternalProcessor.java    |  21 ++-
 .../org/apache/camel/processor/CatchProcessor.java |  12 +-
 .../apache/camel/processor/ChoiceProcessor.java    |   7 +-
 .../camel/processor/ClaimCheckProcessor.java       |  16 +-
 .../camel/processor/DelayProcessorSupport.java     |  20 ++-
 .../java/org/apache/camel/processor/Enricher.java  |  15 +-
 .../camel/processor/EventNotifierProducer.java     |   6 +-
 .../camel/processor/FatalFallbackErrorHandler.java |  14 +-
 .../apache/camel/processor/FilterProcessor.java    |   6 +-
 .../apache/camel/processor/FinallyProcessor.java   |   6 +-
 .../org/apache/camel/processor/LogProcessor.java   |  10 +-
 .../org/apache/camel/processor/LoopProcessor.java  |  13 +-
 .../apache/camel/processor/MulticastProcessor.java |  13 +-
 .../camel/processor/OnCompletionProcessor.java     |  19 ++-
 .../java/org/apache/camel/processor/Pipeline.java  |  19 ++-
 .../org/apache/camel/processor/PollEnricher.java   |  21 ++-
 .../org/apache/camel/processor/RecipientList.java  |   7 +-
 .../camel/processor/RecipientListProcessor.java    |   4 +-
 .../org/apache/camel/processor/Resequencer.java    |  24 +--
 .../org/apache/camel/processor/RoutingSlip.java    |  33 ++--
 .../apache/camel/processor/SamplingThrottler.java  |  12 +-
 .../camel/processor/SendDynamicProcessor.java      |  28 ++--
 .../org/apache/camel/processor/SendProcessor.java  |   9 +-
 .../org/apache/camel/processor/StepProcessor.java  |   6 +-
 .../apache/camel/processor/StreamResequencer.java  |   7 +-
 .../apache/camel/processor/ThreadsProcessor.java   |  12 +-
 .../java/org/apache/camel/processor/Throttler.java |  44 ++---
 .../org/apache/camel/processor/TryProcessor.java   |  10 +-
 .../apache/camel/processor/WireTapProcessor.java   |   8 +-
 .../processor/aggregate/AggregateProcessor.java    | 132 ++++++++-------
 .../camel/processor/channel/DefaultChannel.java    |   8 +-
 .../errorhandler/RedeliveryErrorHandler.java       |  98 +++++------
 .../processor/idempotent/IdempotentConsumer.java   |   7 +-
 .../processor/interceptor/BacklogDebugger.java     |   6 +-
 .../camel/processor/interceptor/BacklogTracer.java |   3 -
 .../processor/interceptor/DefaultDebugger.java     |   6 +-
 .../loadbalancer/FailOverLoadBalancer.java         |  23 ++-
 .../throttling/ThrottlingExceptionRoutePolicy.java |  36 ++--
 .../throttling/ThrottlingInflightRoutePolicy.java  |  14 +-
 .../impl/cloud/DefaultServiceCallProcessor.java    |   7 +-
 .../camel/impl/AbstractModelCamelContext.java      |  12 +-
 .../org/apache/camel/impl/DefaultCamelContext.java |   9 +-
 .../camel/impl/cluster/ClusteredRoutePolicy.java   |  21 ++-
 .../camel/core/osgi/OsgiCamelContextPublisher.java |  16 +-
 .../org/apache/camel/impl/CustomIdFactoryTest.java |   2 +-
 .../impl/transformer/TransformerRouteTest.java     |   8 +-
 .../camel/impl/validator/ValidatorRouteTest.java   |   4 +-
 .../camel/processor/MyLoggingSentEventNotifer.java |   6 +-
 .../processor/validation/ValidatingProcessor.java  |  10 +-
 .../org/apache/camel/main/BaseMainSupport.java     |   2 +-
 .../DefaultInstrumentationProcessor.java           |   9 +-
 .../management/JmxManagementLifecycleStrategy.java |  71 ++++----
 .../camel/management/JmxManagementStrategy.java    |  10 +-
 .../camel/management/PublishEventNotifier.java     |   8 +-
 ...StacksNeededDuringRoutingSendProcessorTest.java |   8 +-
 .../apache/camel/support/ChildServiceSupport.java  |  16 --
 .../org/apache/camel/support/DefaultComponent.java |  40 +++--
 .../org/apache/camel/support/DefaultConsumer.java  |  10 +-
 .../org/apache/camel/support/DefaultEndpoint.java  |  10 +-
 .../org/apache/camel/support/DefaultProducer.java  |  12 +-
 .../support/DefaultScheduledPollConsumer.java      |   7 +-
 .../DefaultScheduledPollConsumerScheduler.java     |  14 +-
 .../camel/support/EventDrivenPollingConsumer.java  |  12 +-
 .../apache/camel/support/RoutePolicySupport.java   |  18 +-
 .../support/ScheduledBatchPollingConsumer.java     |   8 +-
 .../camel/support/ScheduledPollConsumer.java       |  60 +++----
 .../cluster/AbstractCamelClusterService.java       |  22 ++-
 .../DefaultManagementMBeanAssembler.java           |   8 +-
 .../camel/support/processor/CamelLogProcessor.java |  10 +-
 .../camel/support/processor/ThroughputLogger.java  |   8 +-
 .../idempotent/FileIdempotentRepository.java       |  36 ++--
 91 files changed, 1042 insertions(+), 796 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java b/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
index 6b499cf5..0cce39a 100644
--- a/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
+++ b/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
@@ -19,8 +19,6 @@ package org.apache.camel.support.service;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.StatefulService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * A useful base class which ensures that a service is only initialized once and
@@ -36,36 +34,33 @@ import org.slf4j.LoggerFactory;
  */
 public abstract class ServiceSupport implements StatefulService {
 
-    protected static final int NEW = 0;
-    protected static final int BUILDED = 1;
-    protected static final int INITIALIZED = 2;
-    protected static final int STARTING = 3;
-    protected static final int STARTED = 4;
-    protected static final int SUSPENDING = 5;
-    protected static final int SUSPENDED = 6;
-    protected static final int STOPPING = 7;
-    protected static final int STOPPED = 8;
-    protected static final int SHUTTINGDOWN = 9;
-    protected static final int SHUTDOWN = 10;
-    protected static final int FAILED = 11;
-
-    protected final Logger log = LoggerFactory.getLogger(getClass());
+    protected static final byte NEW = 0;
+    protected static final byte BUILDED = 1;
+    protected static final byte INITIALIZED = 2;
+    protected static final byte STARTING = 3;
+    protected static final byte STARTED = 4;
+    protected static final byte SUSPENDING = 5;
+    protected static final byte SUSPENDED = 6;
+    protected static final byte STOPPING = 7;
+    protected static final byte STOPPED = 8;
+    protected static final byte SHUTTINGDOWN = 9;
+    protected static final byte SHUTDOWN = 10;
+    protected static final byte FAILED = 11;
+
     protected final Object lock = new Object();
-    protected volatile int status = NEW;
+    protected volatile byte status = NEW;
 
     @Override
     public void build() {
         if (status == NEW) {
             synchronized (lock) {
                 if (status == NEW) {
-                    log.trace("Building service: {}", this);
                     try {
                         doBuild();
                     } catch (Exception e) {
                         throw RuntimeCamelException.wrapRuntimeException(e);
                     }
                     status = BUILDED;
-                    log.trace("Built service: {}", this);
                 }
             }
         }
@@ -76,14 +71,12 @@ public abstract class ServiceSupport implements StatefulService {
         if (status <= BUILDED) {
             synchronized (lock) {
                 if (status <= BUILDED) {
-                    log.trace("Initializing service: {}", this);
                     try {
                         doInit();
                     } catch (Exception e) {
                         throw RuntimeCamelException.wrapRuntimeException(e);
                     }
                     status = INITIALIZED;
-                    log.trace("Initialized service: {}", this);
                 }
             }
         }
@@ -99,36 +92,29 @@ public abstract class ServiceSupport implements StatefulService {
     public void start() {
         synchronized (lock) {
             if (status == STARTED) {
-                log.trace("Service: {} already started", this);
                 return;
             }
             if (status == STARTING) {
-                log.trace("Service: {} already starting", this);
                 return;
             }
             try {
                 init();
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while initializing service: " + this, e);
                 throw e;
             }
             try {
                 status = STARTING;
-                log.trace("Starting service: {}", this);
                 doStart();
                 status = STARTED;
-                log.trace("Started service: {}", this);
             } catch (Exception e) {
                 // need to stop as some resources may have been started during startup
                 try {
                     stop();
                 } catch (Exception e2) {
                     // ignore
-                    log.trace("Error while stopping service after it failed to start: " + this + ". This exception is ignored", e);
                 }
                 status = FAILED;
-                log.trace("Error while starting service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
@@ -144,26 +130,20 @@ public abstract class ServiceSupport implements StatefulService {
     public void stop() {
         synchronized (lock) {
             if (status == FAILED) {
-                log.trace("Service: {} failed and regarded as already stopped", this);
                 return;
             }
             if (status == STOPPED || status == SHUTTINGDOWN || status == SHUTDOWN) {
-                log.trace("Service: {} already stopped", this);
                 return;
             }
             if (status == STOPPING) {
-                log.trace("Service: {} already stopping", this);
                 return;
             }
             status = STOPPING;
-            log.trace("Stopping service: {}", this);
             try {
                 doStop();
                 status = STOPPED;
-                log.trace("Stopped: {} service", this);
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while stopping service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
@@ -179,22 +159,17 @@ public abstract class ServiceSupport implements StatefulService {
     public void suspend() {
         synchronized (lock) {
             if (status == SUSPENDED) {
-                log.trace("Service: {} already suspended", this);
                 return;
             }
             if (status == SUSPENDING) {
-                log.trace("Service: {} already suspending", this);
                 return;
             }
             status = SUSPENDING;
-            log.trace("Suspending service: {}", this);
             try {
                 doSuspend();
                 status = SUSPENDED;
-                log.trace("Suspended service: {}", this);
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while suspending service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
@@ -210,18 +185,14 @@ public abstract class ServiceSupport implements StatefulService {
     public void resume() {
         synchronized (lock) {
             if (status != SUSPENDED) {
-                log.trace("Service is not suspended: {}", this);
                 return;
             }
             status = STARTING;
-            log.trace("Resuming service: {}", this);
             try {
                 doResume();
                 status = STARTED;
-                log.trace("Resumed service: {}", this);
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while resuming service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
@@ -237,23 +208,18 @@ public abstract class ServiceSupport implements StatefulService {
     public void shutdown() {
         synchronized (lock) {
             if (status == SHUTDOWN) {
-                log.trace("Service: {} already shutdown", this);
                 return;
             }
             if (status == SHUTTINGDOWN) {
-                log.trace("Service: {} already shutting down", this);
                 return;
             }
             stop();
             status = SHUTDOWN;
-            log.trace("Shutting down service: {}", this);
             try {
                 doShutdown();
-                log.trace("Shutdown service: {}", this);
                 status = SHUTDOWN;
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error shutting down service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
diff --git a/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
index a98af2d..c971694 100644
--- a/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
+++ b/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
@@ -246,7 +246,7 @@ public class PropertiesComponent extends ServiceSupport implements org.apache.ca
             uri = uri + SUFFIX_TOKEN;
         }
 
-        log.trace("Parsing uri {}", uri);
+        LOG.trace("Parsing uri {}", uri);
         return propertiesParser.parseUri(uri, properties, defaultFallbackEnabled);
     }
 
@@ -598,11 +598,11 @@ public class PropertiesComponent extends ServiceSupport implements org.apache.ca
         List<PropertiesLocation> answer = new ArrayList<>();
 
         for (PropertiesLocation location : locations) {
-            log.trace("Parsing location: {}", location);
+            LOG.trace("Parsing location: {}", location);
 
             try {
                 String path = FilePathResolver.resolvePath(location.getPath());
-                log.debug("Parsed location: {}", path);
+                LOG.debug("Parsed location: {}", path);
                 if (ObjectHelper.isNotEmpty(path)) {
                     answer.add(new PropertiesLocation(
                         location.getResolver(),
@@ -614,7 +614,7 @@ public class PropertiesComponent extends ServiceSupport implements org.apache.ca
                 if (!ignoreMissingLocation && !location.isOptional()) {
                     throw e;
                 } else {
-                    log.debug("Ignored missing location: {}", location);
+                    LOG.debug("Ignored missing location: {}", location);
                 }
             }
         }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java b/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
index 37fa497..a6fea6e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
@@ -60,6 +60,8 @@ import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.DoubleMap;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Base implementation of a type converter registry used for
@@ -67,6 +69,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public abstract class BaseTypeConverterRegistry extends ServiceSupport implements TypeConverter, TypeConverterRegistry {
 
+    private static final Logger LOG = LoggerFactory.getLogger(BaseTypeConverterRegistry.class);
+
     public static final String META_INF_SERVICES_TYPE_CONVERTER_LOADER = "META-INF/services/org/apache/camel/TypeConverterLoader";
     public static final String META_INF_SERVICES_FALLBACK_TYPE_CONVERTER = "META-INF/services/org/apache/camel/FallbackTypeConverter";
 
@@ -189,11 +193,11 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
     }
 
     protected Object doConvertTo(final Class<?> type, final Exchange exchange, final Object value, final boolean tryConvert) throws Exception {
-        boolean trace = log.isTraceEnabled();
+        boolean trace = LOG.isTraceEnabled();
         boolean statisticsEnabled = statistics.isStatisticsEnabled();
 
         if (trace) {
-            log.trace("Finding type converter to convert {} -> {} with value: {}",
+            LOG.trace("Finding type converter to convert {} -> {} with value: {}",
                     value == null ? "null" : value.getClass().getCanonicalName(),
                     type.getCanonicalName(), value);
         }
@@ -252,7 +256,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
         TypeConverter converter = getOrFindTypeConverter(type, value.getClass());
         if (converter != null) {
             if (trace) {
-                log.trace("Using converter: {} to convert [{}=>{}]", converter, value.getClass(), type);
+                LOG.trace("Using converter: {} to convert [{}=>{}]", converter, value.getClass(), type);
             }
             Object rc;
             if (tryConvert) {
@@ -313,15 +317,15 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
                 // if fallback can promote then let it be promoted to a first class type converter
                 if (fallback.isCanPromote()) {
                     // add it as a known type converter since we found a fallback that could do it
-                    if (log.isDebugEnabled()) {
-                        log.debug("Promoting fallback type converter as a known type converter to convert from: {} to: {} for the fallback converter: {}",
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Promoting fallback type converter as a known type converter to convert from: {} to: {} for the fallback converter: {}",
                                 type.getCanonicalName(), value.getClass().getCanonicalName(), fallback.getFallbackTypeConverter());
                     }
                     addTypeConverter(type, value.getClass(), fallback.getFallbackTypeConverter());
                 }
 
-                if (log.isTraceEnabled()) {
-                    log.trace("Fallback type converter {} converted type from: {} to: {}",
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("Fallback type converter {} converted type from: {} to: {}",
                             fallback.getFallbackTypeConverter(), type.getCanonicalName(), value.getClass().getCanonicalName());
                 }
 
@@ -342,7 +346,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
 
     @Override
     public void addTypeConverter(Class<?> toType, Class<?> fromType, TypeConverter typeConverter) {
-        log.trace("Adding type converter: {}", typeConverter);
+        LOG.trace("Adding type converter: {}", typeConverter);
         TypeConverter converter = typeMappings.get(toType, fromType);
         // only override it if its different
         // as race conditions can lead to many threads trying to promote the same fallback converter
@@ -355,10 +359,10 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
             // if converter is not null then a duplicate exists
             if (converter != null) {
                 if (typeConverterExists == TypeConverterExists.Override) {
-                    CamelLogger logger = new CamelLogger(log, typeConverterExistsLoggingLevel);
+                    CamelLogger logger = new CamelLogger(LOG, typeConverterExistsLoggingLevel);
                     logger.log("Overriding type converter from: " + converter + " to: " + typeConverter);
                 } else if (typeConverterExists == TypeConverterExists.Ignore) {
-                    CamelLogger logger = new CamelLogger(log, typeConverterExistsLoggingLevel);
+                    CamelLogger logger = new CamelLogger(LOG, typeConverterExistsLoggingLevel);
                     logger.log("Ignoring duplicate type converter from: " + converter + " to: " + typeConverter);
                     add = false;
                 } else {
@@ -375,7 +379,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
 
     @Override
     public void addTypeConverters(TypeConverters typeConverters) {
-        log.trace("Adding type converters: {}", typeConverters);
+        LOG.trace("Adding type converters: {}", typeConverters);
         try {
             // scan the class for @Converter and load them into this registry
             TypeConvertersLoader loader = new TypeConvertersLoader(typeConverters);
@@ -387,13 +391,13 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
 
     @Override
     public boolean removeTypeConverter(Class<?> toType, Class<?> fromType) {
-        log.trace("Removing type converter from: {} to: {}", fromType, toType);
+        LOG.trace("Removing type converter from: {} to: {}", fromType, toType);
         return typeMappings.remove(toType, fromType);
     }
 
     @Override
     public void addFallbackTypeConverter(TypeConverter typeConverter, boolean canPromote) {
-        log.trace("Adding fallback type converter: {} which can promote: {}", typeConverter, canPromote);
+        LOG.trace("Adding fallback type converter: {} which can promote: {}", typeConverter, canPromote);
 
         // add in top of fallback as the toString() fallback will nearly always be able to convert
         // the last one which is add to the FallbackTypeConverter will be called at the first place
@@ -408,7 +412,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
     }
 
     private void addCoreFallbackTypeConverterToList(TypeConverter typeConverter, boolean canPromote, List<FallbackTypeConverter> converters) {
-        log.trace("Adding core fallback type converter: {} which can promote: {}", typeConverter, canPromote);
+        LOG.trace("Adding core fallback type converter: {} which can promote: {}", typeConverter, canPromote);
 
         // add in top of fallback as the toString() fallback will nearly always be able to convert
         // the last one which is add to the FallbackTypeConverter will be called at the first place
@@ -523,7 +527,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
     public void loadCoreAndFastTypeConverters() throws Exception {
         Collection<String> names = findTypeConverterLoaderClasses();
         for (String name : names) {
-            log.debug("Resolving TypeConverterLoader: {}", name);
+            LOG.debug("Resolving TypeConverterLoader: {}", name);
             Class clazz = null;
             for (ClassLoader loader : getResolver().getClassLoaders()) {
                 try {
@@ -541,7 +545,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
             Object obj = getInjector().newInstance(clazz, false);
             if (obj instanceof TypeConverterLoader) {
                 TypeConverterLoader loader = (TypeConverterLoader) obj;
-                log.debug("TypeConverterLoader: {} loading converters", name);
+                LOG.debug("TypeConverterLoader: {} loading converters", name);
                 loader.load(this);
             }
         }
@@ -555,7 +559,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
         Set<String> loaders = new LinkedHashSet<>();
         Collection<URL> loaderResources = getLoaderUrls();
         for (URL url : loaderResources) {
-            log.debug("Loading file {} to retrieve list of type converters, from url: {}", META_INF_SERVICES_TYPE_CONVERTER_LOADER, url);
+            LOG.debug("Loading file {} to retrieve list of type converters, from url: {}", META_INF_SERVICES_TYPE_CONVERTER_LOADER, url);
             BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8));
             String line;
             do {
@@ -605,7 +609,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
         Set<String> loaders = new LinkedHashSet<>();
         Collection<URL> loaderResources = getFallbackUrls();
         for (URL url : loaderResources) {
-            log.debug("Loading file {} to retrieve list of fallback type converters, from url: {}", META_INF_SERVICES_FALLBACK_TYPE_CONVERTER, url);
+            LOG.debug("Loading file {} to retrieve list of fallback type converters, from url: {}", META_INF_SERVICES_FALLBACK_TYPE_CONVERTER, url);
             BufferedReader reader = IOHelper.buffered(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8));
             try {
                 reader.lines()
@@ -614,7 +618,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
                         .filter(l -> !l.startsWith("#"))
                         .forEach(loaders::add);
             } finally {
-                IOHelper.close(reader, url.toString(), log);
+                IOHelper.close(reader, url.toString(), LOG);
             }
         }
         return loaders;
@@ -635,7 +639,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
     protected void loadFallbackTypeConverters() throws IOException, ClassNotFoundException {
         Collection<String> names = findFallbackTypeConverterClasses();
         for (String name : names) {
-            log.debug("Resolving FallbackTypeConverter: {}", name);
+            LOG.debug("Resolving FallbackTypeConverter: {}", name);
             Class clazz = getResolver().getClassLoaders().stream()
                     .map(cl -> ObjectHelper.loadClass(name, cl))
                     .filter(Objects::nonNull)
@@ -643,7 +647,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
             Object obj = getInjector().newInstance(clazz, false);
             if (obj instanceof TypeConverter) {
                 TypeConverter fb = (TypeConverter) obj;
-                log.debug("Adding loaded FallbackTypeConverter: {}", name);
+                LOG.debug("Adding loaded FallbackTypeConverter: {}", name);
                 addFallbackTypeConverter(fb, false);
             }
         }
@@ -747,7 +751,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
                 }
             });
             info += String.format(" mappings[total=%s, misses=%s]", typeMappings.size(), misses);
-            log.info(info);
+            LOG.info(info);
         }
 
         typeMappings.clear();
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java b/core/camel-base/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
index 31ab1f8..982ed75 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
@@ -22,6 +22,8 @@ import org.apache.camel.spi.Injector;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.util.StopWatch;
 import org.apache.camel.util.TimeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default implementation of a type converter registry used for
@@ -31,6 +33,8 @@ import org.apache.camel.util.TimeUtils;
  */
 public class DefaultTypeConverter extends BaseTypeConverterRegistry {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultTypeConverter.class);
+
     private final boolean loadTypeConverters;
 
     public DefaultTypeConverter(PackageScanClassResolver resolver, Injector injector,
@@ -78,8 +82,8 @@ public class DefaultTypeConverter extends BaseTypeConverterRegistry {
 
             // report how many type converters we have loaded
             if (additional > 0) {
-                log.info("Type converters loaded (fast: {}, scanned: {})", fast, additional);
-                log.warn("Annotation scanning mode loaded {} type converters. Its recommended to migrate to @Converter(loader = true) for fast type converter mode.", additional);
+                LOG.info("Type converters loaded (fast: {}, scanned: {})", fast, additional);
+                LOG.warn("Annotation scanning mode loaded {} type converters. Its recommended to migrate to @Converter(loader = true) for fast type converter mode.", additional);
             }
 
             // lets clear the cache from the resolver as its often only used during startup
@@ -89,7 +93,7 @@ public class DefaultTypeConverter extends BaseTypeConverterRegistry {
         }
 
         String time = TimeUtils.printDuration(watch.taken());
-        log.debug("Loaded {} type converters in {}", typeMappings.size(), time);
+        LOG.debug("Loaded {} type converters in {}", typeMappings.size(), time);
     }
 
     @Override
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index b76fafa..5b26704 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -154,8 +154,11 @@ import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.URISupport;
 import org.apache.camel.util.function.ThrowingRunnable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 
+
 import static org.apache.camel.spi.UnitOfWork.MDC_CAMEL_CONTEXT_ID;
 
 /**
@@ -163,6 +166,8 @@ import static org.apache.camel.spi.UnitOfWork.MDC_CAMEL_CONTEXT_ID;
  */
 public abstract class AbstractCamelContext extends ServiceSupport implements ExtendedCamelContext, Suspendable {
 
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractCamelContext.class);
+
     public enum Initialization {
         Eager, Default, Lazy
     }
@@ -518,8 +523,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         Component component = null;
         if (autoCreateComponents) {
             try {
-                if (log.isDebugEnabled()) {
-                    log.debug("Using ComponentResolver: {} to resolve component with name: {}", getComponentResolver(), name);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Using ComponentResolver: {} to resolve component with name: {}", getComponentResolver(), name);
                 }
 
                 // Mark the component as being created so we can detect circular
@@ -605,7 +610,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             try {
                 stopServices(oldComponent);
             } catch (Exception e) {
-                log.warn("Error stopping component " + oldComponent + ". This exception will be ignored.", e);
+                LOG.warn("Error stopping component " + oldComponent + ". This exception will be ignored.", e);
             }
             for (LifecycleStrategy strategy : lifecycleStrategies) {
                 strategy.onComponentRemove(componentName, oldComponent);
@@ -677,7 +682,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                     try {
                         stopServices(oldEndpoint);
                     } catch (Exception e) {
-                        log.warn("Error stopping endpoint " + oldEndpoint + ". This exception will be ignored.", e);
+                        LOG.warn("Error stopping endpoint " + oldEndpoint + ". This exception will be ignored.", e);
                     }
                     answer.add(oldEndpoint);
                     endpoints.remove(entry.getKey());
@@ -702,7 +707,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         StringHelper.notEmpty(uri, "uri");
 
-        log.trace("Getting endpoint with uri: {}", uri);
+        LOG.trace("Getting endpoint with uri: {}", uri);
 
         // in case path has property placeholders then try to let property
         // component resolve those
@@ -718,7 +723,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         // parameters is not in the same order
         uri = normalizeEndpointUri(uri);
 
-        log.trace("Getting endpoint with raw uri: {}, normalized uri: {}", rawUri, uri);
+        LOG.trace("Getting endpoint with raw uri: {}, normalized uri: {}", rawUri, uri);
 
         Endpoint answer;
         String scheme = null;
@@ -731,12 +736,12 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 String[] splitURI = StringHelper.splitOnCharacter(uri, ":", 2);
                 if (splitURI[1] != null) {
                     scheme = splitURI[0];
-                    log.trace("Endpoint uri: {} is from component with name: {}", uri, scheme);
+                    LOG.trace("Endpoint uri: {} is from component with name: {}", uri, scheme);
                     Component component = getComponent(scheme);
 
                     // Ask the component to resolve the endpoint.
                     if (component != null) {
-                        log.trace("Creating endpoint from uri: {} using component: {}", uri, component);
+                        LOG.trace("Creating endpoint from uri: {} using component: {}", uri, component);
 
                         // Have the component create the endpoint if it can.
                         if (component.useRawUri()) {
@@ -745,8 +750,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                             answer = component.createEndpoint(uri);
                         }
 
-                        if (answer != null && log.isDebugEnabled()) {
-                            log.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
+                        if (answer != null && LOG.isDebugEnabled()) {
+                            LOG.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
                         }
                     }
                 }
@@ -754,7 +759,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 if (answer == null) {
                     // no component then try in registry and elsewhere
                     answer = createEndpoint(uri);
-                    log.trace("No component to create endpoint from uri: {} fallback lookup in registry -> {}", uri, answer);
+                    LOG.trace("No component to create endpoint from uri: {} fallback lookup in registry -> {}", uri, answer);
                 }
 
                 if (answer == null && splitURI[1] == null) {
@@ -769,7 +774,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
                     // Ask the component to resolve the endpoint.
                     if (component != null) {
-                        log.trace("Creating endpoint from uri: {} using component: {}", uri, component);
+                        LOG.trace("Creating endpoint from uri: {} using component: {}", uri, component);
 
                         // Have the component create the endpoint if it can.
                         if (component.useRawUri()) {
@@ -778,8 +783,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                             answer = component.createEndpoint(uri);
                         }
 
-                        if (answer != null && log.isDebugEnabled()) {
-                            log.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
+                        if (answer != null && LOG.isDebugEnabled()) {
+                            LOG.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
                         }
                     }
 
@@ -808,7 +813,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         StringHelper.notEmpty(uri, "uri");
 
-        log.trace("Getting endpoint with uri: {} and parameters: {}", uri, parameters);
+        LOG.trace("Getting endpoint with uri: {} and parameters: {}", uri, parameters);
 
         // in case path has property placeholders then try to let property
         // component resolve those
@@ -824,7 +829,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         // parameters is not in the same order
         uri = normalizeEndpointUri(uri);
 
-        log.trace("Getting endpoint with raw uri: {}, normalized uri: {}", rawUri, uri);
+        LOG.trace("Getting endpoint with raw uri: {}, normalized uri: {}", rawUri, uri);
 
         Endpoint answer;
         String scheme = null;
@@ -837,12 +842,12 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 String[] splitURI = StringHelper.splitOnCharacter(uri, ":", 2);
                 if (splitURI[1] != null) {
                     scheme = splitURI[0];
-                    log.trace("Endpoint uri: {} is from component with name: {}", uri, scheme);
+                    LOG.trace("Endpoint uri: {} is from component with name: {}", uri, scheme);
                     Component component = getComponent(scheme);
 
                     // Ask the component to resolve the endpoint.
                     if (component != null) {
-                        log.trace("Creating endpoint from uri: {} using component: {}", uri, component);
+                        LOG.trace("Creating endpoint from uri: {} using component: {}", uri, component);
 
                         // Have the component create the endpoint if it can.
                         if (component.useRawUri()) {
@@ -851,8 +856,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                             answer = component.createEndpoint(uri, parameters);
                         }
 
-                        if (answer != null && log.isDebugEnabled()) {
-                            log.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
+                        if (answer != null && LOG.isDebugEnabled()) {
+                            LOG.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
                         }
                     }
                 }
@@ -860,7 +865,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 if (answer == null) {
                     // no component then try in registry and elsewhere
                     answer = createEndpoint(uri);
-                    log.trace("No component to create endpoint from uri: {} fallback lookup in registry -> {}", uri, answer);
+                    LOG.trace("No component to create endpoint from uri: {} fallback lookup in registry -> {}", uri, answer);
                 }
 
                 if (answer == null && splitURI[1] == null) {
@@ -875,7 +880,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
                     // Ask the component to resolve the endpoint.
                     if (component != null) {
-                        log.trace("Creating endpoint from uri: {} using component: {}", uri, component);
+                        LOG.trace("Creating endpoint from uri: {} using component: {}", uri, component);
 
                         // Have the component create the endpoint if it can.
                         if (component.useRawUri()) {
@@ -884,8 +889,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                             answer = component.createEndpoint(uri, parameters);
                         }
 
-                        if (answer != null && log.isDebugEnabled()) {
-                            log.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
+                        if (answer != null && LOG.isDebugEnabled()) {
+                            LOG.debug("{} converted to endpoint: {} by component: {}", URISupport.sanitizeUri(uri), answer, component);
                         }
                     }
 
@@ -1107,7 +1112,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     @Override
     public void addRoutes(final RoutesBuilder builder) throws Exception {
         init();
-        log.debug("Adding routes from builder: {}", builder);
+        LOG.debug("Adding routes from builder: {}", builder);
         doWithDefinedClassLoader(() -> builder.addRoutesToCamelContext(AbstractCamelContext.this));
     }
 
@@ -1277,7 +1282,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                         }
                     }
                     for (Endpoint endpoint : toRemove) {
-                        log.debug("Removing: {} which was only in use by route: {}", endpoint, routeId);
+                        LOG.debug("Removing: {} which was only in use by route: {}", endpoint, routeId);
                         removeEndpoint(endpoint);
                     }
                 } catch (Exception e) {
@@ -1516,7 +1521,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         ClassResolver resolver = getClassResolver();
         InputStream inputStream = resolver.loadResourceAsStream(path);
-        log.debug("Loading component JSON Schema for: {} using class resolver: {} -> {}", componentName, resolver, inputStream);
+        LOG.debug("Loading component JSON Schema for: {} using class resolver: {} -> {}", componentName, resolver, inputStream);
         if (inputStream != null) {
             try {
                 return IOHelper.loadText(inputStream);
@@ -1548,7 +1553,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         ClassResolver resolver = getClassResolver();
         InputStream inputStream = resolver.loadResourceAsStream(path);
-        log.debug("Loading dataformat JSON Schema for: {} using class resolver: {} -> {}", dataFormatName, resolver, inputStream);
+        LOG.debug("Loading dataformat JSON Schema for: {} using class resolver: {} -> {}", dataFormatName, resolver, inputStream);
         if (inputStream != null) {
             try {
                 return IOHelper.loadText(inputStream);
@@ -1575,7 +1580,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         ClassResolver resolver = getClassResolver();
         InputStream inputStream = resolver.loadResourceAsStream(path);
-        log.debug("Loading language JSON Schema for: {} using class resolver: {} -> {}", languageName, resolver, inputStream);
+        LOG.debug("Loading language JSON Schema for: {} using class resolver: {} -> {}", languageName, resolver, inputStream);
         if (inputStream != null) {
             try {
                 return IOHelper.loadText(inputStream);
@@ -1595,7 +1600,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             ClassResolver resolver = getClassResolver();
             InputStream inputStream = resolver.loadResourceAsStream(path);
             if (inputStream != null) {
-                log.debug("Loading eip JSON Schema for: {} using class resolver: {} -> {}", eipName, resolver, inputStream);
+                LOG.debug("Loading eip JSON Schema for: {} using class resolver: {} -> {}", eipName, resolver, inputStream);
                 try {
                     return IOHelper.loadText(inputStream);
                 } finally {
@@ -1652,7 +1657,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         if (text != null && text.contains(PropertiesComponent.PREFIX_TOKEN)) {
             // the parser will throw exception if property key was not found
             String answer = getPropertiesComponent().parseUri(text);
-            log.debug("Resolved text: {} -> {}", text, answer);
+            LOG.debug("Resolved text: {} -> {}", text, answer);
             return answer;
         }
 
@@ -2200,7 +2205,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     protected void doSuspend() throws Exception {
         EventHelper.notifyCamelContextSuspending(this);
 
-        log.info("Apache Camel {} (CamelContext: {}) is suspending", getVersion(), getName());
+        LOG.info("Apache Camel {} (CamelContext: {}) is suspending", getVersion(), getName());
         StopWatch watch = new StopWatch();
 
         // update list of started routes to be suspended
@@ -2240,8 +2245,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         }
 
         watch.taken();
-        if (log.isInfoEnabled()) {
-            log.info("Apache Camel {} (CamelContext: {}) is suspended in {}", getVersion(), getName(), TimeUtils.printDuration(watch.taken()));
+        if (LOG.isInfoEnabled()) {
+            LOG.info("Apache Camel {} (CamelContext: {}) is suspended in {}", getVersion(), getName(), TimeUtils.printDuration(watch.taken()));
         }
 
         EventHelper.notifyCamelContextSuspended(this);
@@ -2252,7 +2257,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         try {
             EventHelper.notifyCamelContextResuming(this);
 
-            log.info("Apache Camel {} (CamelContext: {}) is resuming", getVersion(), getName());
+            LOG.info("Apache Camel {} (CamelContext: {}) is resuming", getVersion(), getName());
             StopWatch watch = new StopWatch();
 
             // start the suspended routes (do not check for route clashes, and
@@ -2269,9 +2274,9 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 }
             }
 
-            if (log.isInfoEnabled()) {
-                log.info("Resumed {} routes", suspendedRouteServices.size());
-                log.info("Apache Camel {} (CamelContext: {}) resumed in {}", getVersion(), getName(), TimeUtils.printDuration(watch.taken()));
+            if (LOG.isInfoEnabled()) {
+                LOG.info("Resumed {} routes", suspendedRouteServices.size());
+                LOG.info("Apache Camel {} (CamelContext: {}) resumed in {}", getVersion(), getName(), TimeUtils.printDuration(watch.taken()));
             }
 
             // and clear the list as they have been resumed
@@ -2291,7 +2296,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             init();
             vetoStarted.set(false);
             stopWatch.restart();
-            log.info("Apache Camel {} (CamelContext: {}) is starting", getVersion(), getName());
+            LOG.info("Apache Camel {} (CamelContext: {}) is starting", getVersion(), getName());
 
             // Start the route controller
             ServiceHelper.startService(this.routeController);
@@ -2324,19 +2329,19 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                     if (veto.isRethrowException()) {
                         throw e;
                     } else {
-                        log.info("CamelContext ({}) vetoed to not start due {}", getName(), e.getMessage());
+                        LOG.info("CamelContext ({}) vetoed to not start due {}", getName(), e.getMessage());
                         // swallow exception and change state of this camel context
                         // to stopped
                         stop();
                         return;
                     }
                 } else {
-                    log.error("Error starting CamelContext (" + getName() + ") due to exception thrown: " + e.getMessage(), e);
+                    LOG.error("Error starting CamelContext (" + getName() + ") due to exception thrown: " + e.getMessage(), e);
                     throw RuntimeCamelException.wrapRuntimeException(e);
                 }
             }
 
-            if (log.isInfoEnabled()) {
+            if (LOG.isInfoEnabled()) {
                 // count how many routes are actually started
                 int started = 0;
                 for (Route route : getRoutes()) {
@@ -2348,12 +2353,12 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
                 final Collection<Route> controlledRoutes = getRouteController().getControlledRoutes();
                 if (controlledRoutes.isEmpty()) {
-                    log.info("Total {} routes, of which {} are started", getRoutes().size(), started);
+                    LOG.info("Total {} routes, of which {} are started", getRoutes().size(), started);
                 } else {
-                    log.info("Total {} routes, of which {} are started, and {} are managed by RouteController: {}", getRoutes().size(), started, controlledRoutes.size(),
+                    LOG.info("Total {} routes, of which {} are started, and {} are managed by RouteController: {}", getRoutes().size(), started, controlledRoutes.size(),
                              getRouteController().getClass().getName());
                 }
-                log.info("Apache Camel {} (CamelContext: {}) started in {}", getVersion(), getName(), TimeUtils.printDuration(stopWatch.taken()));
+                LOG.info("Apache Camel {} (CamelContext: {}) started in {}", getVersion(), getName(), TimeUtils.printDuration(stopWatch.taken()));
             }
 
             // okay the routes has been started so emit event that CamelContext
@@ -2442,8 +2447,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 if (value != null) {
                     String replaced = resolvePropertyPlaceholders(value);
                     if (!value.equals(replaced)) {
-                        if (log.isDebugEnabled()) {
-                            log.debug("Camel property with key {} replaced value from {} -> {}", key, value, replaced);
+                        if (LOG.isDebugEnabled()) {
+                            LOG.debug("Camel property with key {} replaced value from {} -> {}", key, value, replaced);
                         }
                         entry.setValue(replaced);
                     }
@@ -2451,36 +2456,36 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             }
         }
 
-        if (log.isDebugEnabled()) {
-            log.debug("Using ClassResolver={}, PackageScanClassResolver={}, ApplicationContextClassLoader={}, RouteController={}", getClassResolver(),
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Using ClassResolver={}, PackageScanClassResolver={}, ApplicationContextClassLoader={}, RouteController={}", getClassResolver(),
                       getPackageScanClassResolver(), getApplicationContextClassLoader(), getRouteController());
         }
 
         if (isStreamCaching()) {
-            log.info("StreamCaching is enabled on CamelContext: {}", getName());
+            LOG.info("StreamCaching is enabled on CamelContext: {}", getName());
         }
 
         if (isBacklogTracing()) {
             // tracing is added in the DefaultChannel so we can enable it on the fly
-            log.info("Backlog Tracing is enabled on CamelContext: {}", getName());
+            LOG.info("Backlog Tracing is enabled on CamelContext: {}", getName());
         }
         if (isTracing()) {
             // tracing is added in the DefaultChannel so we can enable it on the fly
-            log.info("Tracing is enabled on CamelContext: {}", getName());
+            LOG.info("Tracing is enabled on CamelContext: {}", getName());
         }
 
         if (isUseMDCLogging()) {
             // log if MDC has been enabled
             String pattern = getMDCLoggingKeysPattern();
             if (pattern != null) {
-                log.info("MDC logging (keys-pattern: {}) is enabled on CamelContext: {}", pattern, getName());
+                LOG.info("MDC logging (keys-pattern: {}) is enabled on CamelContext: {}", pattern, getName());
             } else {
-                log.info("MDC logging is enabled on CamelContext: {}", getName());
+                LOG.info("MDC logging is enabled on CamelContext: {}", getName());
             }
         }
 
         if (getDelayer() != null && getDelayer() > 0) {
-            log.info("Delayer is enabled with: {} ms. on CamelContext: {}", getDelayer(), getName());
+            LOG.info("Delayer is enabled with: {} ms. on CamelContext: {}", getDelayer(), getName());
         }
 
         // start management strategy before lifecycles are started
@@ -2496,10 +2501,10 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 strategy.onContextStart(this);
             } catch (VetoCamelContextStartException e) {
                 // okay we should not start Camel since it was vetoed
-                log.warn("Lifecycle strategy vetoed starting CamelContext ({}) due: {}", getName(), e.getMessage());
+                LOG.warn("Lifecycle strategy vetoed starting CamelContext ({}) due: {}", getName(), e.getMessage());
                 throw e;
             } catch (Exception e) {
-                log.warn("Lifecycle strategy " + strategy + " failed starting CamelContext ({}) due: {}", getName(), e.getMessage());
+                LOG.warn("Lifecycle strategy " + strategy + " failed starting CamelContext ({}) due: {}", getName(), e.getMessage());
                 throw e;
             }
         }
@@ -2560,7 +2565,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         if (isUseDataType()) {
             // log if DataType has been enabled
-            log.info("Message DataType is enabled on CamelContext: {}", getName());
+            LOG.info("Message DataType is enabled on CamelContext: {}", getName());
         }
 
         // is there any stream caching enabled then log an info about this and
@@ -2571,30 +2576,30 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         } else {
             // log if stream caching is not in use as this can help people to
             // enable it if they use streams
-            log.info("StreamCaching is not in use. If using streams then its recommended to enable stream caching."
+            LOG.info("StreamCaching is not in use. If using streams then its recommended to enable stream caching."
                      + " See more details at http://camel.apache.org/stream-caching.html");
         }
 
         if (isAllowUseOriginalMessage()) {
-            log.debug("AllowUseOriginalMessage enabled because UseOriginalMessage is in use");
+            LOG.debug("AllowUseOriginalMessage enabled because UseOriginalMessage is in use");
         }
 
-        log.debug("Using HeadersMapFactory: {}", getHeadersMapFactory());
+        LOG.debug("Using HeadersMapFactory: {}", getHeadersMapFactory());
         if (!getHeadersMapFactory().isCaseInsensitive()) {
-            log.info("HeadersMapFactory: {} is case-sensitive which can cause problems for protocols such as HTTP based, which rely on case-insensitive headers.",
+            LOG.info("HeadersMapFactory: {} is case-sensitive which can cause problems for protocols such as HTTP based, which rely on case-insensitive headers.",
                      getHeadersMapFactory());
         }
 
         // lets log at INFO level if we are not using the default reactive executor
         if (!getReactiveExecutor().getClass().getSimpleName().equals("DefaultReactiveExecutor")) {
-            log.info("Using ReactiveExecutor: {}", getReactiveExecutor());
+            LOG.info("Using ReactiveExecutor: {}", getReactiveExecutor());
         } else {
-            log.debug("Using ReactiveExecutor: {}", getReactiveExecutor());
+            LOG.debug("Using ReactiveExecutor: {}", getReactiveExecutor());
         }
 
         // start routes
         if (doNotStartRoutesOnFirstStart) {
-            log.debug("Skip starting routes as CamelContext has been configured with autoStartup=false");
+            LOG.debug("Skip starting routes as CamelContext has been configured with autoStartup=false");
         }
 
         // invoke this logic to warmup the routes and if possible also start the routes
@@ -2604,12 +2609,12 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
         long cacheCounter = beanIntrospection != null ? beanIntrospection.getCachedClassesCounter() : 0;
         if (cacheCounter > 0) {
-            log.debug("Clearing BeanIntrospection cache with {} objects using during starting Camel", cacheCounter);
+            LOG.debug("Clearing BeanIntrospection cache with {} objects using during starting Camel", cacheCounter);
             beanIntrospection.clearCache();
         }
         long invokedCounter = beanIntrospection != null ? beanIntrospection.getInvokedCounter() : 0;
         if (invokedCounter > 0) {
-            log.debug("BeanIntrospection invoked {} times during starting Camel", invokedCounter);
+            LOG.debug("BeanIntrospection invoked {} times during starting Camel", invokedCounter);
         }
 
         // starting will continue in the start method
@@ -2628,7 +2633,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     @Override
     protected synchronized void doStop() throws Exception {
         stopWatch.restart();
-        log.info("Apache Camel {} (CamelContext: {}) is shutting down", getVersion(), getName());
+        LOG.info("Apache Camel {} (CamelContext: {}) is shutting down", getVersion(), getName());
         EventHelper.notifyCamelContextStopping(this);
         EventHelper.notifyCamelContextRoutesStopping(this);
 
@@ -2643,7 +2648,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 shutdownStrategy.shutdownForced(this, getRouteStartupOrder());
             }
         } catch (Throwable e) {
-            log.warn("Error occurred while shutting down routes. This exception will be ignored.", e);
+            LOG.warn("Error occurred while shutting down routes. This exception will be ignored.", e);
         }
 
         // shutdown await manager to trigger interrupt of blocked threads to
@@ -2654,7 +2659,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         for (BaseRouteService routeService : routeServices.values()) {
             boolean found = routeStartupOrder.stream().anyMatch(o -> o.getRoute().getId().equals(routeService.getId()));
             if (!found) {
-                log.debug("Route: {} which failed to startup will be stopped", routeService.getId());
+                LOG.debug("Route: {} which failed to startup will be stopped", routeService.getId());
                 routeStartupOrder.add(doPrepareRouteToBeStarted(routeService));
             }
         }
@@ -2712,7 +2717,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 strategy.onContextStop(this);
             }
         } catch (Throwable e) {
-            log.warn("Error occurred while stopping lifecycle strategies. This exception will be ignored.", e);
+            LOG.warn("Error occurred while stopping lifecycle strategies. This exception will be ignored.", e);
         }
 
         // shutdown services as late as possible (except type converters as they may be needed during the remainder of the stopping)
@@ -2743,9 +2748,9 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
         // stop the lazy created so they can be re-created on restart
         forceStopLazyInitialization();
 
-        if (log.isInfoEnabled()) {
-            log.info("Apache Camel " + getVersion() + " (CamelContext: " + getName() + ") uptime {}", getUptime());
-            log.info("Apache Camel {} (CamelContext: {}) is shutdown in {}", getVersion(), getName(), TimeUtils.printDuration(stopWatch.taken()));
+        if (LOG.isInfoEnabled()) {
+            LOG.info("Apache Camel " + getVersion() + " (CamelContext: " + getName() + ") uptime {}", getUptime());
+            LOG.info("Apache Camel {} (CamelContext: {}) is shutdown in {}", getVersion(), getName(), TimeUtils.printDuration(stopWatch.taken()));
         }
 
         // and clear start date
@@ -2826,7 +2831,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 ServiceHelper.stopAndShutdownServices((Collection<?>)service);
             }
         } catch (Throwable e) {
-            log.warn("Error occurred while shutting down service: " + service + ". This exception will be ignored.", e);
+            LOG.warn("Error occurred while shutting down service: " + service + ". This exception will be ignored.", e);
             // fire event
             EventHelper.notifyServiceStopFailure(this, service, e);
         }
@@ -2950,13 +2955,13 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
     }
 
     protected void logRouteState(Route route, String state) {
-        if (log.isInfoEnabled()) {
+        if (LOG.isInfoEnabled()) {
             if (route.getConsumer() != null) {
                 // use basic endpoint uri to not log verbose details or potential sensitive data
                 String uri = route.getEndpoint().getEndpointBaseUri();
-                log.info("Route: {} is {}, was consuming from: {}", route.getId(), state, uri);
+                LOG.info("Route: {} is {}, was consuming from: {}", route.getId(), state, uri);
             } else {
-                log.info("Route: {} is {}.", route.getId(), state);
+                LOG.info("Route: {} is {}.", route.getId(), state);
             }
         }
     }
@@ -3117,7 +3122,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             // consume messages to be routed
             BaseRouteService routeService = entry.getValue().getRouteService();
             try {
-                log.debug("Warming up route id: {} having autoStartup={}", routeService.getId(), autoStartup);
+                LOG.debug("Warming up route id: {} having autoStartup={}", routeService.getId(), autoStartup);
                 setupRoute.set(routeService.getRoute());
                 routeService.warmUp();
             } finally {
@@ -3146,7 +3151,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             // to not be auto started
             boolean autoStartup = routeService.isAutoStartup();
             if (addingRoute && !autoStartup) {
-                log.info("Skipping starting of route {} as its configured with autoStartup=false", routeService.getId());
+                LOG.info("Skipping starting of route {} as its configured with autoStartup=false", routeService.getId());
                 continue;
             }
 
@@ -3180,11 +3185,11 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                 }
 
                 // start the consumer on the route
-                log.debug("Route: {} >>> {}", route.getId(), route);
+                LOG.debug("Route: {} >>> {}", route.getId(), route);
                 if (resumeOnly) {
-                    log.debug("Resuming consumer (order: {}) on route: {}", order, route.getId());
+                    LOG.debug("Resuming consumer (order: {}) on route: {}", order, route.getId());
                 } else {
-                    log.debug("Starting consumer (order: {}) on route: {}", order, route.getId());
+                    LOG.debug("Starting consumer (order: {}) on route: {}", order, route.getId());
                 }
 
                 if (resumeOnly && route.supportsSuspension()) {
@@ -3192,7 +3197,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                     ServiceHelper.resumeService(consumer);
                     // use basic endpoint uri to not log verbose details or potential sensitive data
                     String uri = endpoint.getEndpointBaseUri();
-                    log.info("Route: {} resumed and consuming from: {}", route.getId(), uri);
+                    LOG.info("Route: {} resumed and consuming from: {}", route.getId(), uri);
                 } else {
                     // when starting we should invoke the lifecycle strategies
                     for (LifecycleStrategy strategy : lifecycleStrategies) {
@@ -3208,7 +3213,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
                     // use basic endpoint uri to not log verbose details or potential sensitive data
                     String uri = endpoint.getEndpointBaseUri();
-                    log.info("Route: {} started and consuming from: {}", route.getId(), uri);
+                    LOG.info("Route: {} started and consuming from: {}", route.getId(), uri);
                 }
 
                 routeInputs.add(endpoint);
@@ -3551,7 +3556,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
 
     @Override
     public void setupManagement(Map<String, Object> options) {
-        log.trace("Setting up management");
+        LOG.trace("Setting up management");
 
         ManagementStrategyFactory factory = null;
         if (!isJMXDisabled()) {
@@ -3564,13 +3569,13 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
                     }
                 }
             } catch (Exception e) {
-                log.warn("Cannot create JmxManagementStrategyFactory. Will fallback and disable JMX.", e);
+                LOG.warn("Cannot create JmxManagementStrategyFactory. Will fallback and disable JMX.", e);
             }
         }
         if (factory == null) {
             factory = new DefaultManagementStrategyFactory();
         }
-        log.debug("Setting up management with factory: {}", factory);
+        LOG.debug("Setting up management with factory: {}", factory);
 
         // preserve any existing event notifiers that may have been already added
         List<EventNotifier> notifiers = null;
@@ -3586,7 +3591,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
             LifecycleStrategy lifecycle = factory.createLifecycle(this);
             factory.setupManagement(this, strategy, lifecycle);
         } catch (Exception e) {
-            log.warn("Error setting up management due " + e.getMessage());
+            LOG.warn("Error setting up management due " + e.getMessage());
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         }
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
index 51b99b4..a6017c5 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
@@ -151,7 +151,6 @@ public abstract class BaseRouteService extends ChildServiceSupport {
                 // warm up the route first
                 route.warmUp();
 
-                log.debug("Starting services on route: {}", route.getId());
                 List<Service> services = route.getServices();
 
                 // callback that we are staring these services
@@ -235,8 +234,6 @@ public abstract class BaseRouteService extends ChildServiceSupport {
         }
         
         try (MDCHelper mdcHelper = new MDCHelper(route.getId())) {
-            log.debug("Stopping services on route: {}", route.getId());
-
             // gather list of services to stop as we need to start child services as well
             Set<Service> services = gatherChildServices();
 
@@ -266,8 +263,6 @@ public abstract class BaseRouteService extends ChildServiceSupport {
     @Override
     protected void doShutdown() {
         try (MDCHelper mdcHelper = new MDCHelper(route.getId())) {
-            log.debug("Shutting down services on route: {}", route.getId());
-
             // gather list of services to stop as we need to start child services as well
             Set<Service> services = gatherChildServices();
 
@@ -333,7 +328,6 @@ public abstract class BaseRouteService extends ChildServiceSupport {
 
     protected void startChildService(Route route, List<Service> services) {
         for (Service service : services) {
-            log.debug("Starting child service on route: {} -> {}", route.getId(), service);
             for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
                 strategy.onServiceAdd(camelContext, service, route);
             }
@@ -344,7 +338,6 @@ public abstract class BaseRouteService extends ChildServiceSupport {
 
     protected void stopChildService(Route route, Set<Service> services, boolean shutdown) {
         for (Service service : services) {
-            log.debug("{} child service on route: {} -> {}", shutdown ? "Shutting down" : "Stopping", route.getId(), service);
             if (service instanceof ErrorHandler) {
                 // special for error handlers
                 for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
index cdcaad3..665d779 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
@@ -36,9 +36,13 @@ import org.apache.camel.spi.UnitOfWork;
 import org.apache.camel.support.MessageHelper;
 import org.apache.camel.support.processor.DefaultExchangeFormatter;
 import org.apache.camel.support.service.ServiceSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements AsyncProcessorAwaitManager, StaticService {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultAsyncProcessorAwaitManager.class);
+
     private final AsyncProcessorAwaitManager.Statistics statistics = new UtilizationStatistics();
     private final AtomicLong blockedCounter = new AtomicLong();
     private final AtomicLong interruptedCounter = new AtomicLong();
@@ -88,7 +92,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
                 return;
             }
         } while (exchange.getContext().getReactiveExecutor().executeFromQueue());
-        log.trace("Waiting for asynchronous callback before continuing for exchangeId: {} -> {}",
+        LOG.trace("Waiting for asynchronous callback before continuing for exchangeId: {} -> {}",
                 exchange.getExchangeId(), exchange);
         try {
             if (statistics.isStatisticsEnabled()) {
@@ -96,11 +100,11 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
             }
             inflight.put(exchange, new AwaitThreadEntry(Thread.currentThread(), exchange, latch));
             latch.await();
-            log.trace("Asynchronous callback received, will continue routing exchangeId: {} -> {}",
+            LOG.trace("Asynchronous callback received, will continue routing exchangeId: {} -> {}",
                     exchange.getExchangeId(), exchange);
 
         } catch (InterruptedException e) {
-            log.trace("Interrupted while waiting for callback, will continue routing exchangeId: {} -> {}",
+            LOG.trace("Interrupted while waiting for callback, will continue routing exchangeId: {} -> {}",
                     exchange.getExchangeId(), exchange);
             exchange.setException(e);
         } finally {
@@ -126,7 +130,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
     }
 
     public void countDown(Exchange exchange, CountDownLatch latch) {
-        log.trace("Asynchronous callback received for exchangeId: {}", exchange.getExchangeId());
+        LOG.trace("Asynchronous callback received for exchangeId: {}", exchange.getExchangeId());
         latch.countDown();
     }
 
@@ -174,7 +178,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
                 if (routeStackTrace != null) {
                     sb.append(routeStackTrace);
                 }
-                log.warn(sb.toString());
+                LOG.warn(sb.toString());
 
             } catch (Exception e) {
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
@@ -214,7 +218,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
         Collection<AwaitThread> threads = browse();
         int count = threads.size();
         if (count > 0) {
-            log.warn("Shutting down while there are still {} inflight threads currently blocked.", count);
+            LOG.warn("Shutting down while there are still {} inflight threads currently blocked.", count);
 
             StringBuilder sb = new StringBuilder();
             for (AwaitThread entry : threads) {
@@ -222,19 +226,19 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
             }
 
             if (isInterruptThreadsWhileStopping()) {
-                log.warn("The following threads are blocked and will be interrupted so the threads are released:\n{}", sb);
+                LOG.warn("The following threads are blocked and will be interrupted so the threads are released:\n{}", sb);
                 for (AwaitThread entry : threads) {
                     try {
                         interrupt(entry.getExchange());
                     } catch (Throwable e) {
-                        log.warn("Error while interrupting thread: " + entry.getBlockedThread().getName() + ". This exception is ignored.", e);
+                        LOG.warn("Error while interrupting thread: " + entry.getBlockedThread().getName() + ". This exception is ignored.", e);
                     }
                 }
             } else {
-                log.warn("The following threads are blocked, and may reside in the JVM:\n{}", sb);
+                LOG.warn("The following threads are blocked, and may reside in the JVM:\n{}", sb);
             }
         } else {
-            log.debug("Shutting down with no inflight threads.");
+            LOG.debug("Shutting down with no inflight threads.");
         }
 
         inflight.clear();
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerCache.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerCache.java
index a3346e7..e77656f 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerCache.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerCache.java
@@ -24,18 +24,21 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.FailedToCreateConsumerException;
 import org.apache.camel.PollingConsumer;
-import org.apache.camel.Producer;
 import org.apache.camel.spi.ConsumerCache;
 import org.apache.camel.spi.EndpointUtilizationStatistics;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Cache containing created {@link org.apache.camel.Consumer}.
  */
 public class DefaultConsumerCache extends ServiceSupport implements ConsumerCache {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultConsumerCache.class);
+
     private final CamelContext camelContext;
     private final PollingConsumerServicePool consumers;
     private final Object source;
@@ -109,7 +112,7 @@ public class DefaultConsumerCache extends ServiceSupport implements ConsumerCach
             throw new RejectedExecutionException("CamelContext is stopped");
         }
 
-        log.debug("<<<< {}", endpoint);
+        LOG.debug("<<<< {}", endpoint);
         PollingConsumer consumer = null;
         try {
             consumer = acquirePollingConsumer(endpoint);
@@ -127,7 +130,7 @@ public class DefaultConsumerCache extends ServiceSupport implements ConsumerCach
             throw new RejectedExecutionException("CamelContext is stopped");
         }
 
-        log.debug("<<<< {}", endpoint);
+        LOG.debug("<<<< {}", endpoint);
         PollingConsumer consumer = null;
         try {
             consumer = acquirePollingConsumer(endpoint);
@@ -145,7 +148,7 @@ public class DefaultConsumerCache extends ServiceSupport implements ConsumerCach
             throw new RejectedExecutionException("CamelContext is stopped");
         }
 
-        log.debug("<<<< {}", endpoint);
+        LOG.debug("<<<< {}", endpoint);
         PollingConsumer consumer = null;
         try {
             consumer = acquirePollingConsumer(endpoint);
@@ -189,7 +192,7 @@ public class DefaultConsumerCache extends ServiceSupport implements ConsumerCach
     @Override
     public int size() {
         int size = consumers.size();
-        log.trace("size = {}", size);
+        LOG.trace("size = {}", size);
         return size;
     }
 
@@ -202,7 +205,7 @@ public class DefaultConsumerCache extends ServiceSupport implements ConsumerCach
             consumers.stop();
             consumers.start();
         } catch (Exception e) {
-            log.debug("Error restarting consumer pool", e);
+            LOG.debug("Error restarting consumer pool", e);
         }
         if (statistics != null) {
             statistics.clear();
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
index 430db05..0424399 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java
@@ -29,6 +29,9 @@ import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.UnitOfWorkHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException;
 
@@ -37,6 +40,8 @@ import static org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException;
  */
 public class DefaultConsumerTemplate extends ServiceSupport implements ConsumerTemplate {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultConsumerTemplate.class);
+
     private final CamelContext camelContext;
     private ConsumerCache consumerCache;
     private int maximumCacheSize;
@@ -216,13 +221,13 @@ public class DefaultConsumerTemplate extends ServiceSupport implements ConsumerT
             if (exchange.getUnitOfWork() == null) {
                 // handover completions and done them manually to ensure they are being executed
                 List<Synchronization> synchronizations = exchange.adapt(ExtendedExchange.class).handoverCompletions();
-                UnitOfWorkHelper.doneSynchronizations(exchange, synchronizations, log);
+                UnitOfWorkHelper.doneSynchronizations(exchange, synchronizations, LOG);
             } else {
                 // done the unit of work
                 exchange.getUnitOfWork().done(exchange);
             }
         } catch (Throwable e) {
-            log.warn("Exception occurred during done UnitOfWork for Exchange: " + exchange
+            LOG.warn("Exception occurred during done UnitOfWork for Exchange: " + exchange
                     + ". This exception will be ignored.", e);
         }
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java
index 3126dcf..4215e64 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java
@@ -34,12 +34,16 @@ import org.apache.camel.spi.InflightRepository;
 import org.apache.camel.spi.RouteContext;
 import org.apache.camel.spi.UnitOfWork;
 import org.apache.camel.support.service.ServiceSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default {@link org.apache.camel.spi.InflightRepository}.
  */
 public class DefaultInflightRepository extends ServiceSupport implements InflightRepository {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultInflightRepository.class);
+
     private final ConcurrentMap<String, Exchange> inflight = new ConcurrentHashMap<>();
     private final ConcurrentMap<String, AtomicInteger> routeCount = new ConcurrentHashMap<>();
 
@@ -174,9 +178,9 @@ public class DefaultInflightRepository extends ServiceSupport implements Infligh
     protected void doStop() throws Exception {
         int count = size();
         if (count > 0) {
-            log.warn("Shutting down while there are still {} inflight exchanges.", count);
+            LOG.warn("Shutting down while there are still {} inflight exchanges.", count);
         } else {
-            log.debug("Shutting down with no inflight exchanges.");
+            LOG.debug("Shutting down with no inflight exchanges.");
         }
         routeCount.clear();
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultManagementStrategy.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultManagementStrategy.java
index 760c9ff..d1daa7a 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultManagementStrategy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultManagementStrategy.java
@@ -33,6 +33,8 @@ import org.apache.camel.spi.ManagementStrategy;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A default management strategy that does <b>not</b> manage.
@@ -48,6 +50,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class DefaultManagementStrategy extends ServiceSupport implements ManagementStrategy, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultManagementStrategy.class);
+
     private final List<EventNotifier> eventNotifiers = new CopyOnWriteArrayList<>();
     private EventFactory eventFactory = new DefaultEventFactory();
     private ManagementObjectNameStrategy managementObjectNameStrategy;
@@ -178,7 +182,7 @@ public class DefaultManagementStrategy extends ServiceSupport implements Managem
 
     @Override
     protected void doStart() throws Exception {
-        log.info("JMX is disabled");
+        LOG.info("JMX is disabled");
         doStartManagementStrategy();
     }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerCache.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerCache.java
index edf61e9..7dd8f9a 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerCache.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerCache.java
@@ -160,7 +160,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
         AsyncProducer producer = acquireProducer(endpoint);
         try {
             // now lets dispatch
-            log.debug(">>>> {} {}", endpoint, exchange);
+            LOG.debug(">>>> {} {}", endpoint, exchange);
 
             // set property which endpoint we send to
             exchange.setProperty(Exchange.TO_ENDPOINT, endpoint.getEndpointUri());
@@ -270,7 +270,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
 
             if (producer == null) {
                 if (isStopped()) {
-                    log.warn("Ignoring exchange sent after processor is stopped: {}", exchange);
+                    LOG.warn("Ignoring exchange sent after processor is stopped: {}", exchange);
                     callback.done(true);
                     return true;
                 } else {
@@ -327,7 +327,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
     protected boolean asyncDispatchExchange(Endpoint endpoint, AsyncProducer producer,
                                             Processor resultProcessor, Exchange exchange, AsyncCallback callback) {
         // now lets dispatch
-        log.debug(">>>> {} {}", endpoint, exchange);
+        LOG.debug(">>>> {} {}", endpoint, exchange);
 
         // set property which endpoint we send to
         exchange.setProperty(Exchange.TO_ENDPOINT, endpoint.getEndpointUri());
@@ -371,7 +371,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
     public int size() {
         int size = producers.size();
 
-        log.trace("size = {}", size);
+        LOG.trace("size = {}", size);
         return size;
     }
 
@@ -386,7 +386,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
             producers.stop();
             producers.start();
         } catch (Exception e) {
-            log.debug("Error restarting producers", e);
+            LOG.debug("Error restarting producers", e);
         }
         if (statistics != null) {
             statistics.clear();
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
index ef6c077..b796d8d 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
@@ -37,13 +37,18 @@ import org.apache.camel.spi.EndpointUtilizationStatistics;
 import org.apache.camel.spi.RouteContext;
 import org.apache.camel.spi.RuntimeEndpointRegistry;
 import org.apache.camel.spi.UnitOfWork;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.EventNotifierSupport;
 import org.apache.camel.support.LRUCacheFactory;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DefaultRuntimeEndpointRegistry extends EventNotifierSupport implements CamelContextAware, RuntimeEndpointRegistry {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultRuntimeEndpointRegistry.class);
+
     private CamelContext camelContext;
 
     // route id -> endpoint urls
@@ -201,9 +206,9 @@ public class DefaultRuntimeEndpointRegistry extends EventNotifierSupport impleme
             outputUtilization = new DefaultEndpointUtilizationStatistics(limit);
         }
         if (extended) {
-            log.info("Runtime endpoint registry is in extended mode gathering usage statistics of all incoming and outgoing endpoints (cache limit: {})", limit);
+            LOG.info("Runtime endpoint registry is in extended mode gathering usage statistics of all incoming and outgoing endpoints (cache limit: {})", limit);
         } else {
-            log.info("Runtime endpoint registry is in normal mode gathering information of all incoming and outgoing endpoints (cache limit: {})", limit);
+            LOG.info("Runtime endpoint registry is in normal mode gathering information of all incoming and outgoing endpoints (cache limit: {})", limit);
         }
         ServiceHelper.startService(inputUtilization, outputUtilization);
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
index f7a715a..7f54bce 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
@@ -53,6 +53,8 @@ import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.CollectionStringBuffer;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StopWatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default {@link org.apache.camel.spi.ShutdownStrategy} which uses graceful shutdown.
@@ -112,6 +114,8 @@ import org.apache.camel.util.StopWatch;
  */
 public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownStrategy, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultShutdownStrategy.class);
+
     private CamelContext camelContext;
     private ExecutorService executor;
     private long timeout = 45;
@@ -187,9 +191,9 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
         routesOrdered.sort(comparator);
 
         if (suspendOnly) {
-            log.info("Starting to graceful suspend {} routes (timeout {} {})", routesOrdered.size(), timeout, timeUnit.toString().toLowerCase(Locale.ENGLISH));
+            LOG.info("Starting to graceful suspend {} routes (timeout {} {})", routesOrdered.size(), timeout, timeUnit.toString().toLowerCase(Locale.ENGLISH));
         } else {
-            log.info("Starting to graceful shutdown {} routes (timeout {} {})", routesOrdered.size(), timeout, timeUnit.toString().toLowerCase(Locale.ENGLISH));
+            LOG.info("Starting to graceful shutdown {} routes (timeout {} {})", routesOrdered.size(), timeout, timeUnit.toString().toLowerCase(Locale.ENGLISH));
         }
 
         // use another thread to perform the shutdowns so we can support timeout
@@ -216,7 +220,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
 
             // if set, stop processing and return false to indicate that the shutdown is aborting
             if (!forceShutdown && abortAfterTimeout) {
-                log.warn("Timeout occurred during graceful shutdown. Aborting the shutdown now."
+                LOG.warn("Timeout occurred during graceful shutdown. Aborting the shutdown now."
                         + " Notice: some resources may still be running as graceful shutdown did not complete successfully.");
 
                 // we attempt to force shutdown so lets log the current inflight exchanges which are affected
@@ -225,7 +229,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                 return false;
             } else {
                 if (forceShutdown || shutdownNowOnTimeout) {
-                    log.warn("Timeout occurred during graceful shutdown. Forcing the routes to be shutdown now."
+                    LOG.warn("Timeout occurred during graceful shutdown. Forcing the routes to be shutdown now."
                             + " Notice: some resources may still be running as graceful shutdown did not complete successfully.");
 
                     // we attempt to force shutdown so lets log the current inflight exchanges which are affected
@@ -241,7 +245,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                         }
                     }
                 } else {
-                    log.warn("Timeout occurred during graceful shutdown. Will ignore shutting down the remainder routes."
+                    LOG.warn("Timeout occurred during graceful shutdown. Will ignore shutting down the remainder routes."
                             + " Notice: some resources may still be running as graceful shutdown did not complete successfully.");
 
                     logInflightExchanges(context, routes, isLogInflightExchangesOnTimeout());
@@ -254,7 +258,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
         // convert to seconds as its easier to read than a big milli seconds number
         long seconds = TimeUnit.SECONDS.convert(watch.taken(), TimeUnit.MILLISECONDS);
 
-        log.info("Graceful shutdown of {} routes completed in {} seconds", routesOrdered.size(), seconds);
+        LOG.info("Graceful shutdown of {} routes completed in {} seconds", routesOrdered.size(), seconds);
         return true;
     }
 
@@ -357,7 +361,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
             // it has completed its current task
             ShutdownRunningTask current = order.getRoute().getRouteContext().getShutdownRunningTask();
             if (current != ShutdownRunningTask.CompleteCurrentTaskOnly) {
-                log.debug("Changing shutdownRunningTask from {} to " +  ShutdownRunningTask.CompleteCurrentTaskOnly
+                LOG.debug("Changing shutdownRunningTask from {} to " +  ShutdownRunningTask.CompleteCurrentTaskOnly
                     + " on route {} to shutdown faster", current, order.getRoute().getId());
                 order.getRoute().getRouteContext().setShutdownRunningTask(ShutdownRunningTask.CompleteCurrentTaskOnly);
             }
@@ -387,18 +391,18 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
      * @param consumer the consumer to shutdown
      */
     protected void shutdownNow(String routeId, Consumer consumer) {
-        log.trace("Shutting down: {}", consumer);
+        LOG.trace("Shutting down: {}", consumer);
 
         // allow us to do custom work before delegating to service helper
         try {
             ServiceHelper.stopService(consumer);
         } catch (Throwable e) {
-            log.warn("Error occurred while shutting down route: " + routeId + ". This exception will be ignored.", e);
+            LOG.warn("Error occurred while shutting down route: " + routeId + ". This exception will be ignored.", e);
             // fire event
             EventHelper.notifyServiceStopFailure(consumer.getEndpoint().getCamelContext(), consumer, e);
         }
 
-        log.trace("Shutdown complete for: {}", consumer);
+        LOG.trace("Shutdown complete for: {}", consumer);
     }
 
     /**
@@ -408,18 +412,18 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
      * @param consumer the consumer to suspend
      */
     protected void suspendNow(String routeId, Consumer consumer) {
-        log.trace("Suspending: {}", consumer);
+        LOG.trace("Suspending: {}", consumer);
 
         // allow us to do custom work before delegating to service helper
         try {
             ServiceHelper.suspendService(consumer);
         } catch (Throwable e) {
-            log.warn("Error occurred while suspending route: " + routeId + ". This exception will be ignored.", e);
+            LOG.warn("Error occurred while suspending route: " + routeId + ". This exception will be ignored.", e);
             // fire event
             EventHelper.notifyServiceStopFailure(consumer.getEndpoint().getCamelContext(), consumer, e);
         }
 
-        log.trace("Suspend complete for: {}", consumer);
+        LOG.trace("Suspend complete for: {}", consumer);
     }
 
     private ExecutorService getExecutorService() {
@@ -474,13 +478,13 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
         for (Service child : list) {
             if (child instanceof ShutdownPrepared) {
                 try {
-                    log.trace("Preparing (forced: {}) shutdown on: {}", forced, child);
+                    LOG.trace("Preparing (forced: {}) shutdown on: {}", forced, child);
                     ((ShutdownPrepared) child).prepareShutdown(suspendOnly, forced);
                 } catch (Exception e) {
                     if (suppressLogging) {
-                        log.trace("Error during prepare shutdown on " + child + ". This exception will be ignored.", e);
+                        LOG.trace("Error during prepare shutdown on " + child + ". This exception will be ignored.", e);
                     } else {
-                        log.warn("Error during prepare shutdown on " + child + ". This exception will be ignored.", e);
+                        LOG.warn("Error during prepare shutdown on " + child + ". This exception will be ignored.", e);
                     }
                 }
             }
@@ -543,7 +547,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
             // 2) wait until all inflight and pending exchanges has been completed
             // 3) shutdown the deferred routes
 
-            log.debug("There are {} routes to {}", routes.size(), suspendOnly ? "suspend" : "shutdown");
+            LOG.debug("There are {} routes to {}", routes.size(), suspendOnly ? "suspend" : "shutdown");
 
             // list of deferred consumers to shutdown when all exchanges has been completed routed
             // and thus there are no more inflight exchanges so they can be safely shutdown at that time
@@ -553,8 +557,8 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                 ShutdownRoute shutdownRoute = order.getRoute().getRouteContext().getShutdownRoute();
                 ShutdownRunningTask shutdownRunningTask = order.getRoute().getRouteContext().getShutdownRunningTask();
 
-                if (log.isTraceEnabled()) {
-                    log.trace("{}{} with options [{},{}]",
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("{}{} with options [{},{}]",
                             suspendOnly ? "Suspending route: " : "Shutting down route: ",
                             order.getRoute().getId(), shutdownRoute, shutdownRunningTask);
                 }
@@ -589,17 +593,17 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                         deferredConsumers.add(new ShutdownDeferredConsumer(order.getRoute(), consumer));
                         // use basic endpoint uri to not log verbose details or potential sensitive data
                         String uri = order.getRoute().getEndpoint().getEndpointBaseUri();
-                        log.debug("Route: {} suspended and shutdown deferred, was consuming from: {}", order.getRoute().getId(), uri);
+                        LOG.debug("Route: {} suspended and shutdown deferred, was consuming from: {}", order.getRoute().getId(), uri);
                     } else if (shutdown) {
                         shutdownNow(order.getRoute().getId(), consumer);
                         // use basic endpoint uri to not log verbose details or potential sensitive data
                         String uri = order.getRoute().getEndpoint().getEndpointBaseUri();
-                        log.info("Route: {} shutdown complete, was consuming from: {}", order.getRoute().getId(), uri);
+                        LOG.info("Route: {} shutdown complete, was consuming from: {}", order.getRoute().getId(), uri);
                     } else {
                         // we will stop it later, but for now it must run to be able to help all inflight messages
                         // be safely completed
                         deferredConsumers.add(new ShutdownDeferredConsumer(order.getRoute(), consumer));
-                        log.debug("Route: " + order.getRoute().getId() + (suspendOnly ? " shutdown deferred." : " suspension deferred."));
+                        LOG.debug("Route: " + order.getRoute().getId() + (suspendOnly ? " shutdown deferred." : " suspension deferred."));
                     }
                 }
             }
@@ -631,7 +635,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                         String routeId = order.getRoute().getId();
                         routeInflight.put(routeId, inflight);
                         size += inflight;
-                        log.trace("{} inflight and pending exchanges for route: {}", inflight, routeId);
+                        LOG.trace("{} inflight and pending exchanges for route: {}", inflight, routeId);
                     }
                 }
                 if (size > 0) {
@@ -647,7 +651,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                                 + (TimeUnit.SECONDS.convert(timeout, timeUnit) - (loopCount++ * loopDelaySeconds)) + " seconds.";
                         msg += " Inflights per route: [" + csb.toString() + "]";
 
-                        log.info(msg);
+                        LOG.info(msg);
 
                         // log verbose if DEBUG logging is enabled
                         logInflightExchanges(context, routes, logInflightExchangesOnTimeout);
@@ -655,10 +659,10 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                         Thread.sleep(loopDelaySeconds * 1000);
                     } catch (InterruptedException e) {
                         if (abortAfterTimeout) {
-                            log.warn("Interrupted while waiting during graceful shutdown, will abort.");
+                            LOG.warn("Interrupted while waiting during graceful shutdown, will abort.");
                             return;
                         } else {
-                            log.warn("Interrupted while waiting during graceful shutdown, will force shutdown now.");
+                            LOG.warn("Interrupted while waiting during graceful shutdown, will force shutdown now.");
                             break;
                         }
                     }
@@ -671,11 +675,11 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
             for (ShutdownDeferredConsumer deferred : deferredConsumers) {
                 Consumer consumer = deferred.getConsumer();
                 if (consumer instanceof ShutdownAware) {
-                    log.trace("Route: {} preparing to shutdown.", deferred.getRoute().getId());
+                    LOG.trace("Route: {} preparing to shutdown.", deferred.getRoute().getId());
                     boolean forced = context.getShutdownStrategy().forceShutdown(consumer);
                     boolean suppress = context.getShutdownStrategy().isSuppressLoggingOnTimeout();
                     prepareShutdown(consumer, suspendOnly, forced, false, suppress);
-                    log.debug("Route: {} preparing to shutdown complete.", deferred.getRoute().getId());
+                    LOG.debug("Route: {} preparing to shutdown complete.", deferred.getRoute().getId());
                 }
             }
 
@@ -686,12 +690,12 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
                     suspendNow(deferred.getRoute().getId(), consumer);
                     // use basic endpoint uri to not log verbose details or potential sensitive data
                     String uri = deferred.getRoute().getEndpoint().getEndpointBaseUri();
-                    log.info("Route: {} suspend complete, was consuming from: {}", deferred.getRoute().getId(), uri);
+                    LOG.info("Route: {} suspend complete, was consuming from: {}", deferred.getRoute().getId(), uri);
                 } else {
                     shutdownNow(deferred.getRoute().getId(), consumer);
                     // use basic endpoint uri to not log verbose details or potential sensitive data
                     String uri = deferred.getRoute().getEndpoint().getEndpointBaseUri();
-                    log.info("Route: {} shutdown complete, was consuming from: {}", deferred.getRoute().getId(), uri);
+                    LOG.info("Route: {} shutdown complete, was consuming from: {}", deferred.getRoute().getId(), uri);
                 }
             }
 
@@ -738,7 +742,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
      */
     protected void logInflightExchanges(CamelContext camelContext, List<RouteStartupOrder> routes, boolean infoLevel) {
         // check if we need to log
-        if (!infoLevel && !log.isDebugEnabled()) {
+        if (!infoLevel && !LOG.isDebugEnabled()) {
             return;
         }
 
@@ -778,9 +782,9 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
         }
 
         if (infoLevel) {
-            log.info(sb.toString());
+            LOG.info(sb.toString());
         } else {
-            log.debug(sb.toString());
+            LOG.debug(sb.toString());
         }
     }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultStreamCachingStrategy.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultStreamCachingStrategy.java
index 8fd7663..44d88bb 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultStreamCachingStrategy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultStreamCachingStrategy.java
@@ -34,12 +34,16 @@ import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.FilePathResolver;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.IOHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default implementation of {@link StreamCachingStrategy}
  */
 public class DefaultStreamCachingStrategy extends ServiceSupport implements CamelContextAware, StreamCachingStrategy {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultStreamCachingStrategy.class);
+
     private CamelContext camelContext;
     private boolean enabled;
     private File spoolDirectory;
@@ -190,7 +194,7 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
         }
 
         boolean answer = anySpoolRules ? any : all;
-        log.debug("Should spool cache {} -> {}", length, answer);
+        LOG.debug("Should spool cache {} -> {}", length, answer);
         return answer;
     }
 
@@ -204,8 +208,8 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
         Message message = exchange.getMessage();
         StreamCache cache = message.getBody(StreamCache.class);
         if (cache != null) {
-            if (log.isTraceEnabled()) {
-                log.trace("Cached stream to {} -> {}", cache.inMemory() ? "memory" : "spool", cache);
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Cached stream to {} -> {}", cache.inMemory() ? "memory" : "spool", cache);
             }
             if (statistics.isStatisticsEnabled()) {
                 try {
@@ -215,7 +219,7 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
                         statistics.updateSpool(cache.length());
                     }
                 } catch (Exception e) {
-                    log.debug("Error updating cache statistics. This exception is ignored.", e);
+                    LOG.debug("Error updating cache statistics. This exception is ignored.", e);
                 }
             }
         }
@@ -262,7 +266,7 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
     @Override
     protected void doStart() throws Exception {
         if (!enabled) {
-            log.debug("StreamCaching is not enabled");
+            LOG.debug("StreamCaching is not enabled");
             return;
         }
 
@@ -289,16 +293,16 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
 
             if (spoolDirectory.exists()) {
                 if (spoolDirectory.isDirectory()) {
-                    log.debug("Using spool directory: {}", spoolDirectory);
+                    LOG.debug("Using spool directory: {}", spoolDirectory);
                 } else {
-                    log.warn("Spool directory: {} is not a directory. This may cause problems spooling to disk for the stream caching!", spoolDirectory);
+                    LOG.warn("Spool directory: {} is not a directory. This may cause problems spooling to disk for the stream caching!", spoolDirectory);
                 }
             } else {
                 boolean created = spoolDirectory.mkdirs();
                 if (!created) {
-                    log.warn("Cannot create spool directory: {}. This may cause problems spooling to disk for the stream caching!", spoolDirectory);
+                    LOG.warn("Cannot create spool directory: {}. This may cause problems spooling to disk for the stream caching!", spoolDirectory);
                 } else {
-                    log.debug("Created spool directory: {}", spoolDirectory);
+                    LOG.debug("Created spool directory: {}", spoolDirectory);
                 }
 
             }
@@ -315,24 +319,24 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
             }
         }
 
-        log.debug("StreamCaching configuration {}", this);
+        LOG.debug("StreamCaching configuration {}", this);
 
         if (spoolDirectory != null) {
-            log.info("StreamCaching in use with spool directory: {} and rules: {}", spoolDirectory.getPath(), spoolRules);
+            LOG.info("StreamCaching in use with spool directory: {} and rules: {}", spoolDirectory.getPath(), spoolRules);
         } else {
-            log.info("StreamCaching in use with rules: {}", spoolRules);
+            LOG.info("StreamCaching in use with rules: {}", spoolRules);
         }
     }
 
     @Override
     protected void doStop() throws Exception {
         if (spoolThreshold > 0 & spoolDirectory != null  && isRemoveSpoolDirectoryWhenStopping()) {
-            log.debug("Removing spool directory: {}", spoolDirectory);
+            LOG.debug("Removing spool directory: {}", spoolDirectory);
             FileUtil.removeDir(spoolDirectory);
         }
 
-        if (log.isDebugEnabled() && statistics.isStatisticsEnabled()) {
-            log.debug("Stopping StreamCachingStrategy with statistics: {}", statistics);
+        if (LOG.isDebugEnabled() && statistics.isStatisticsEnabled()) {
+            LOG.debug("Stopping StreamCachingStrategy with statistics: {}", statistics);
         }
 
         statistics.reset();
@@ -354,7 +358,7 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
         @Override
         public boolean shouldSpoolCache(long length) {
             if (spoolThreshold > 0 && length > spoolThreshold) {
-                log.trace("Should spool cache fixed threshold {} > {} -> true", length, spoolThreshold);
+                LOG.trace("Should spool cache fixed threshold {} > {} -> true", length, spoolThreshold);
                 return true;
             }
             return false;
@@ -390,15 +394,15 @@ public class DefaultStreamCachingStrategy extends ServiceSupport implements Came
                 double calc = (used / upper) * 100;
                 int percentage = (int) calc;
 
-                if (log.isTraceEnabled()) {
+                if (LOG.isTraceEnabled()) {
                     long u = heapUsage.getHeapMemoryUsage().getUsed();
                     long c = heapUsage.getHeapMemoryUsage().getCommitted();
                     long m = heapUsage.getHeapMemoryUsage().getMax();
-                    log.trace("Heap memory: [used={}M ({}%), committed={}M, max={}M]", u >> 20, percentage, c >> 20, m >> 20);
+                    LOG.trace("Heap memory: [used={}M ({}%), committed={}M, max={}M]", u >> 20, percentage, c >> 20, m >> 20);
                 }
 
                 if (percentage > spoolUsedHeapMemoryThreshold) {
-                    log.trace("Should spool cache heap memory threshold {} > {} -> true", percentage, spoolUsedHeapMemoryThreshold);
+                    LOG.trace("Should spool cache heap memory threshold {} > {} -> true", percentage, spoolUsedHeapMemoryThreshold);
                     return true;
                 }
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java
index 3a6386b..ee208cf 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DurationRoutePolicy.java
@@ -26,6 +26,8 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.Route;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * {@link org.apache.camel.spi.RoutePolicy} which executes for a duration and then triggers an action.
@@ -34,6 +36,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class DurationRoutePolicy extends org.apache.camel.support.RoutePolicySupport implements CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DurationRoutePolicy.class);
+
     enum Action {
         STOP_CAMEL_CONTEXT, STOP_ROUTE, SUSPEND_ROUTE, SUSPEND_ALL_ROUTES
     }
@@ -168,20 +172,20 @@ public class DurationRoutePolicy extends org.apache.camel.support.RoutePolicySup
                 }
 
                 if (action == Action.STOP_CAMEL_CONTEXT) {
-                    log.info("Stopping CamelContext {}", tail);
+                    LOG.info("Stopping CamelContext {}", tail);
                     camelContext.stop();
                 } else if (action == Action.STOP_ROUTE) {
-                    log.info("Stopping route: {}{}", routeId, tail);
+                    LOG.info("Stopping route: {}{}", routeId, tail);
                     camelContext.getRouteController().stopRoute(routeId);
                 } else if (action == Action.SUSPEND_ROUTE) {
-                    log.info("Suspending route: {}{}", routeId, tail);
+                    LOG.info("Suspending route: {}{}", routeId, tail);
                     camelContext.getRouteController().suspendRoute(routeId);
                 } else if (action == Action.SUSPEND_ALL_ROUTES) {
-                    log.info("Suspending all routes {}", tail);
+                    LOG.info("Suspending all routes {}", tail);
                     camelContext.suspend();
                 }
             } catch (Throwable e) {
-                log.warn("Error performing action: {}", action, e);
+                LOG.warn("Error performing action: {}", action, e);
             }
         };
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/FileStateRepository.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/FileStateRepository.java
index ac20f8a..c7e1dc8 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/FileStateRepository.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/FileStateRepository.java
@@ -28,11 +28,14 @@ import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedOperation;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.spi.StateRepository;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.Scanner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This {@link FileStateRepository} class is a file-based implementation of a {@link StateRepository}.
@@ -40,6 +43,8 @@ import org.apache.camel.util.Scanner;
 @ManagedResource(description = "File based state repository")
 public class FileStateRepository extends ServiceSupport implements StateRepository<String, String> {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FileStateRepository.class);
+
     private static final String STORE_DELIMITER = "\n";
     private static final String KEY_VALUE_DELIMITER = "=";
     private final AtomicBoolean init = new AtomicBoolean();
@@ -142,19 +147,19 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
      * @param key the state key
      */
     private void appendToStore(String key, String value) {
-        if (log.isDebugEnabled()) {
-            log.debug("Appending {}={} to state filestore: {}", key, value, fileStore);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Appending {}={} to state filestore: {}", key, value, fileStore);
         }
         FileOutputStream fos = null;
         try {
             // create store parent directory if missing
             File storeParentDirectory = fileStore.getParentFile();
             if (storeParentDirectory != null && !storeParentDirectory.exists()) {
-                log.info("Parent directory of file store {} doesn't exist. Creating.", fileStore);
+                LOG.info("Parent directory of file store {} doesn't exist. Creating.", fileStore);
                 if (fileStore.getParentFile().mkdirs()) {
-                    log.info("Parent directory of file store {} successfully created.", fileStore);
+                    LOG.info("Parent directory of file store {} successfully created.", fileStore);
                 } else {
-                    log.warn("Parent directory of file store {} cannot be created.", fileStore);
+                    LOG.warn("Parent directory of file store {} cannot be created.", fileStore);
                 }
             }
             // create store if missing
@@ -170,7 +175,7 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
         } catch (IOException e) {
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         } finally {
-            IOHelper.close(fos, "Appending to file state repository", log);
+            IOHelper.close(fos, "Appending to file state repository", LOG);
         }
     }
 
@@ -179,7 +184,7 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
      * to the file store.
      */
     protected void trunkStore() {
-        log.info("Trunking state filestore: {}", fileStore);
+        LOG.info("Trunking state filestore: {}", fileStore);
         FileOutputStream fos = null;
         try {
             fos = new FileOutputStream(fileStore);
@@ -192,7 +197,7 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
         } catch (IOException e) {
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         } finally {
-            IOHelper.close(fos, "Trunking file state repository", log);
+            IOHelper.close(fos, "Trunking file state repository", LOG);
         }
     }
 
@@ -202,7 +207,7 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
     protected void loadStore() throws IOException {
         // auto create starting directory if needed
         if (!fileStore.exists()) {
-            log.debug("Creating filestore: {}", fileStore);
+            LOG.debug("Creating filestore: {}", fileStore);
             File parent = fileStore.getParentFile();
             if (parent != null) {
                 parent.mkdirs();
@@ -213,7 +218,7 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
             }
         }
 
-        log.trace("Loading to 1st level cache from state filestore: {}", fileStore);
+        LOG.trace("Loading to 1st level cache from state filestore: {}", fileStore);
 
         cache.clear();
         try (Scanner scanner = new Scanner(fileStore, null, STORE_DELIMITER)) {
@@ -228,7 +233,7 @@ public class FileStateRepository extends ServiceSupport implements StateReposito
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         }
 
-        log.debug("Loaded {} to the 1st level cache from state filestore: {}", cache.size(), fileStore);
+        LOG.debug("Loaded {} to the 1st level cache from state filestore: {}", cache.size(), fileStore);
     }
 
     @Override
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/InterceptSendToEndpointProcessor.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/InterceptSendToEndpointProcessor.java
index 9692bc9..aea4983 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/InterceptSendToEndpointProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/InterceptSendToEndpointProcessor.java
@@ -28,6 +28,9 @@ import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.DefaultAsyncProducer;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.processor.PipelineHelper.continueProcessing;
 
@@ -37,6 +40,8 @@ import static org.apache.camel.processor.PipelineHelper.continueProcessing;
  */
 public class InterceptSendToEndpointProcessor extends DefaultAsyncProducer {
 
+    private static final Logger LOG = LoggerFactory.getLogger(InterceptSendToEndpointProcessor.class);
+
     private final DefaultInterceptSendToEndpoint endpoint;
     private final Endpoint delegate;
     private final AsyncProducer producer;
@@ -58,8 +63,8 @@ public class InterceptSendToEndpointProcessor extends DefaultAsyncProducer {
     @Override
     public boolean process(Exchange exchange, AsyncCallback callback) {
         // process the detour so we do the detour routing
-        if (log.isDebugEnabled()) {
-            log.debug("Sending to endpoint: {} is intercepted and detoured to: {} for exchange: {}", getEndpoint(), endpoint.getBefore(), exchange);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Sending to endpoint: {} is intercepted and detoured to: {} for exchange: {}", getEndpoint(), endpoint.getBefore(), exchange);
         }
         // add header with the real endpoint uri
         exchange.getIn().setHeader(Exchange.INTERCEPTED_ENDPOINT, delegate.getEndpointUri());
@@ -90,7 +95,7 @@ public class InterceptSendToEndpointProcessor extends DefaultAsyncProducer {
     private boolean callback(Exchange exchange, AsyncCallback callback, boolean doneSync) {
         // Decide whether to continue or not; similar logic to the Pipeline
         // check for error if so we should break out
-        if (!continueProcessing(exchange, "skip sending to original intended destination: " + getEndpoint(), log)) {
+        if (!continueProcessing(exchange, "skip sending to original intended destination: " + getEndpoint(), LOG)) {
             callback.done(doneSync);
             return doneSync;
         }
@@ -117,8 +122,8 @@ public class InterceptSendToEndpointProcessor extends DefaultAsyncProducer {
             });
             return doneSync && s;
         } else {
-            if (log.isDebugEnabled()) {
-                log.debug("Stop() means skip sending exchange to original intended destination: {} for exchange: {}", getEndpoint(), exchange);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Stop() means skip sending exchange to original intended destination: {} for exchange: {}", getEndpoint(), exchange);
             }
             callback.done(doneSync);
             return doneSync;
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/transformer/DataFormatTransformer.java b/core/camel-base/src/main/java/org/apache/camel/impl/transformer/DataFormatTransformer.java
index 8fd01d6..b539162 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/transformer/DataFormatTransformer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/transformer/DataFormatTransformer.java
@@ -27,6 +27,8 @@ import org.apache.camel.spi.Transformer;
 import org.apache.camel.support.builder.OutputStreamBuilder;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A {@link Transformer} implementation which leverages {@link DataFormat} to perform transformation.
@@ -35,6 +37,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class DataFormatTransformer extends Transformer {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DataFormatTransformer.class);
+
     private DataFormat dataFormat;
     private String transformerString;
 
@@ -55,12 +59,12 @@ public class DataFormatTransformer extends Transformer {
         
         // Unmarshaling into Java Object
         if ((to == null || to.isJavaType()) && (from.equals(getFrom()) || from.getModel().equals(getModel()))) {
-            log.debug("Unmarshaling with '{}'", dataFormat);
+            LOG.debug("Unmarshaling with: {}", dataFormat);
             Object answer = dataFormat.unmarshal(exchange, message.getBody(InputStream.class));
             if (to != null && to.getName() != null) {
                 Class<?> toClass = context.getClassResolver().resolveClass(to.getName());
                 if (!toClass.isAssignableFrom(answer.getClass())) {
-                    log.debug("Converting to '{}'", toClass.getName());
+                    LOG.debug("Converting to: {}", toClass.getName());
                     answer = context.getTypeConverter().mandatoryConvertTo(toClass, answer);
                 }
             }
@@ -72,12 +76,12 @@ public class DataFormatTransformer extends Transformer {
             if (from != null && from.getName() != null) {
                 Class<?> fromClass = context.getClassResolver().resolveClass(from.getName());
                 if (!fromClass.isAssignableFrom(input.getClass())) {
-                    log.debug("Converting to '{}'", fromClass.getName());
+                    LOG.debug("Converting to: {}", fromClass.getName());
                     input = context.getTypeConverter().mandatoryConvertTo(fromClass, input);
                 }
             }
             OutputStreamBuilder osb = OutputStreamBuilder.withExchange(exchange);
-            log.debug("Marshaling with '{}'", dataFormat);
+            LOG.debug("Marshaling with: {}", dataFormat);
             dataFormat.marshal(exchange, message.getBody(), osb);
             message.setBody(osb.build());
             
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/transformer/ProcessorTransformer.java b/core/camel-base/src/main/java/org/apache/camel/impl/transformer/ProcessorTransformer.java
index 4d1d80a..dde1770 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/transformer/ProcessorTransformer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/transformer/ProcessorTransformer.java
@@ -25,6 +25,8 @@ import org.apache.camel.spi.Transformer;
 import org.apache.camel.support.DefaultExchange;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A {@link Transformer} implementation which leverages {@link Processor} to perform transformation.
@@ -33,6 +35,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class ProcessorTransformer extends Transformer {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ProcessorTransformer.class);
+
     private Processor processor;
     private String transformerString;
 
@@ -54,13 +58,13 @@ public class ProcessorTransformer extends Transformer {
             Object input = message.getBody();
             Class<?> fromClass = context.getClassResolver().resolveClass(from.getName());
             if (!fromClass.isAssignableFrom(input.getClass())) {
-                log.debug("Converting to '{}'", fromClass.getName());
+                LOG.debug("Converting to: {}", fromClass.getName());
                 input = context.getTypeConverter().mandatoryConvertTo(fromClass, input);
                 message.setBody(input);
             }
         }
         
-        log.debug("Sending to transform processor '{}'", processor);
+        LOG.debug("Sending to transform processor: {}", processor);
         DefaultExchange transformExchange = new DefaultExchange(exchange);
         transformExchange.setIn(message);
         transformExchange.setProperties(exchange.getProperties());
@@ -71,7 +75,7 @@ public class ProcessorTransformer extends Transformer {
             Object answerBody = answer.getBody();
             Class<?> toClass = context.getClassResolver().resolveClass(to.getName());
             if (!toClass.isAssignableFrom(answerBody.getClass())) {
-                log.debug("Converting to '{}'", toClass.getName());
+                LOG.debug("Converting to: {}", toClass.getName());
                 answerBody = context.getTypeConverter().mandatoryConvertTo(toClass, answerBody);
                 answer.setBody(answerBody);
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
index 8da55df..0820b80 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
@@ -52,6 +52,7 @@ import org.apache.camel.spi.Transformer;
 import org.apache.camel.spi.UnitOfWork;
 import org.apache.camel.spi.UnitOfWorkFactory;
 import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.MessageHelper;
 import org.apache.camel.support.OrderedComparator;
 import org.apache.camel.support.SynchronizationAdapter;
@@ -90,6 +91,8 @@ import org.slf4j.LoggerFactory;
  */
 public class CamelInternalProcessor extends DelegateAsyncProcessor {
 
+    private static final Logger LOG = LoggerFactory.getLogger(CamelInternalProcessor.class);
+
     private static final Object[] EMPTY_STATES = new Object[0];
 
     private final List<CamelInternalProcessorAdvice<?>> advices = new ArrayList<>();
@@ -205,11 +208,11 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
 
         if (exchange.isTransacted()) {
             // must be synchronized for transacted exchanges
-            if (log.isTraceEnabled()) {
+            if (LOG.isTraceEnabled()) {
                 if (exchange.isTransacted()) {
-                    log.trace("Transacted Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
+                    LOG.trace("Transacted Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
                 } else {
-                    log.trace("Synchronous UnitOfWork Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
+                    LOG.trace("Synchronous UnitOfWork Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
                 }
             }
             // ----------------------------------------------------------
@@ -239,8 +242,8 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
             // ----------------------------------------------------------
             // CAMEL END USER - DEBUG ME HERE +++ START +++
             // ----------------------------------------------------------
-            if (log.isTraceEnabled()) {
-                log.trace("Processing exchange for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Processing exchange for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
             }
             processor.process(exchange, async);
             // ----------------------------------------------------------
@@ -255,8 +258,8 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
                 });
             }
 
-            if (log.isTraceEnabled()) {
-                log.trace("Exchange processed and is continued routed asynchronously for exchangeId: {} -> {}",
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Exchange processed and is continued routed asynchronously for exchangeId: {} -> {}",
                         exchange.getExchangeId(), exchange);
             }
             // must return false
@@ -277,7 +280,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
         if (stop != null) {
             boolean doStop = exchange.getContext().getTypeConverter().convertTo(Boolean.class, stop);
             if (doStop) {
-                log.debug("Exchange is marked to stop routing: {}", exchange);
+                LOG.debug("Exchange is marked to stop routing: {}", exchange);
                 return false;
             }
         }
@@ -286,7 +289,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
         boolean forceShutdown = exchange.getContext().getShutdownStrategy().forceShutdown(this);
         if (forceShutdown) {
             String msg = "Run not allowed as ShutdownStrategy is forcing shutting down, will reject executing exchange: " + exchange;
-            log.debug(msg);
+            LOG.debug(msg);
             if (exchange.getException() == null) {
                 exchange.setException(new RejectedExecutionException(msg));
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/CatchProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/CatchProcessor.java
index d8daf3a..b766fb9 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/CatchProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/CatchProcessor.java
@@ -29,12 +29,16 @@ import org.apache.camel.support.EventHelper;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A processor which catches exceptions.
  */
 public class CatchProcessor extends DelegateAsyncProcessor implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(CatchProcessor.class);
+
     private String id;
     private String routeId;
     private final List<Class<? extends Throwable>> exceptions;
@@ -85,8 +89,8 @@ public class CatchProcessor extends DelegateAsyncProcessor implements Traceable,
             callback.done(true);
             return true;
         }
-        if (log.isTraceEnabled()) {
-            log.trace("This CatchProcessor catches the exception: {} caused by: {}", caught.getClass().getName(), e.getMessage());
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("This CatchProcessor catches the exception: {} caused by: {}", caught.getClass().getName(), e.getMessage());
         }
 
         // store the last to endpoint as the failure endpoint
@@ -100,8 +104,8 @@ public class CatchProcessor extends DelegateAsyncProcessor implements Traceable,
         // and we should not be regarded as exhausted as we are in a try .. catch block
         exchange.removeProperty(Exchange.REDELIVERY_EXHAUSTED);
 
-        if (log.isDebugEnabled()) {
-            log.debug("The exception is handled for the exception: {} caused by: {}",
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("The exception is handled for the exception: {} caused by: {}",
                     new Object[]{e.getClass().getName(), e.getMessage()});
         }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/ChoiceProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
index a5e4f14..9222650 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/ChoiceProcessor.java
@@ -31,6 +31,9 @@ import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.processor.PipelineHelper.continueProcessing;
 
@@ -41,6 +44,8 @@ import static org.apache.camel.processor.PipelineHelper.continueProcessing;
  */
 public class ChoiceProcessor extends AsyncProcessorSupport implements Navigate<Processor>, Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ChoiceProcessor.class);
+
     private String id;
     private String routeId;
     private final List<FilterProcessor> filters;
@@ -97,7 +102,7 @@ public class ChoiceProcessor extends AsyncProcessorSupport implements Navigate<P
             }
 
             // check for error if so we should break out
-            if (!continueProcessing(exchange, "so breaking out of choice", log)) {
+            if (!continueProcessing(exchange, "so breaking out of choice", LOG)) {
                 break;
             }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
index 772e74e..7574593 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/ClaimCheckProcessor.java
@@ -31,6 +31,8 @@ import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.LanguageSupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * ClaimCheck EIP implementation.
@@ -42,6 +44,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class ClaimCheckProcessor extends AsyncProcessorSupport implements IdAware, RouteIdAware, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ClaimCheckProcessor.class);
+
     private CamelContext camelContext;
     private String id;
     private String routeId;
@@ -130,13 +134,13 @@ public class ClaimCheckProcessor extends AsyncProcessorSupport implements IdAwar
                 Exchange copy = ExchangeHelper.createCorrelatedCopy(exchange, false);
                 boolean addedNew = repo.add(claimKey, copy);
                 if (addedNew) {
-                    log.debug("Add: {} -> {}", claimKey, copy);
+                    LOG.debug("Add: {} -> {}", claimKey, copy);
                 } else {
-                    log.debug("Override: {} -> {}", claimKey, copy);
+                    LOG.debug("Override: {} -> {}", claimKey, copy);
                 }
             } else if ("Get".equals(operation)) {
                 Exchange copy = repo.get(claimKey);
-                log.debug("Get: {} -> {}", claimKey, exchange);
+                LOG.debug("Get: {} -> {}", claimKey, exchange);
                 if (copy != null) {
                     Exchange result = aggregationStrategy.aggregate(exchange, copy);
                     if (result != null) {
@@ -145,7 +149,7 @@ public class ClaimCheckProcessor extends AsyncProcessorSupport implements IdAwar
                 }
             } else if ("GetAndRemove".equals(operation)) {
                 Exchange copy = repo.getAndRemove(claimKey);
-                log.debug("GetAndRemove: {} -> {}", claimKey, exchange);
+                LOG.debug("GetAndRemove: {} -> {}", claimKey, exchange);
                 if (copy != null) {
                     // prepare the exchanges for aggregation
                     ExchangeHelper.prepareAggregation(exchange, copy);
@@ -157,11 +161,11 @@ public class ClaimCheckProcessor extends AsyncProcessorSupport implements IdAwar
             } else if ("Push".equals(operation)) {
                 // copy exchange, and do not share the unit of work
                 Exchange copy = ExchangeHelper.createCorrelatedCopy(exchange, false);
-                log.debug("Push: {} -> {}", claimKey, copy);
+                LOG.debug("Push: {} -> {}", claimKey, copy);
                 repo.push(copy);
             } else if ("Pop".equals(operation)) {
                 Exchange copy = repo.pop();
-                log.debug("Pop: {} -> {}", claimKey, exchange);
+                LOG.debug("Pop: {} -> {}", claimKey, exchange);
                 if (copy != null) {
                     // prepare the exchanges for aggregation
                     ExchangeHelper.prepareAggregation(exchange, copy);
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java b/core/camel-base/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
index cd9904a..42c6176 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/DelayProcessorSupport.java
@@ -29,6 +29,8 @@ import org.apache.camel.ShutdownRunningTask;
 import org.apache.camel.spi.ShutdownAware;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A useful base class for any processor which provides some kind of throttling
@@ -38,6 +40,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public abstract class DelayProcessorSupport extends DelegateAsyncProcessor implements ShutdownAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DelayProcessorSupport.class);
+
     private final CamelContext camelContext;
     private final ScheduledExecutorService executorService;
     private final boolean shutdownExecutorService;
@@ -61,7 +65,7 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
             // we are running now so decrement the counter
             delayedCount.decrementAndGet();
 
-            log.trace("Delayed task woke up and continues routing for exchangeId: {}", exchange.getExchangeId());
+            LOG.trace("Delayed task woke up and continues routing for exchangeId: {}", exchange.getExchangeId());
             if (!isRunAllowed()) {
                 exchange.setException(new RejectedExecutionException("Run is not allowed"));
             }
@@ -70,7 +74,7 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
             DelayProcessorSupport.this.processor.process(exchange, new AsyncCallback() {
                 @Override
                 public void done(boolean doneSync) {
-                    log.trace("Delayed task done for exchangeId: {}", exchange.getExchangeId());
+                    LOG.trace("Delayed task done for exchangeId: {}", exchange.getExchangeId());
                     // we must done the callback from this async callback as well, to ensure callback is done correctly
                     // must invoke done on callback with false, as that is what the original caller would
                     // expect as we returned false in the process method
@@ -110,7 +114,7 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
             delayedCount.incrementAndGet();
             ProcessCall call = new ProcessCall(exchange, callback);
             try {
-                log.trace("Scheduling delayed task to run in {} millis for exchangeId: {}",
+                LOG.trace("Scheduling delayed task to run in {} millis for exchangeId: {}",
                         delay, exchange.getExchangeId());
                 executorService.schedule(call, delay, TimeUnit.MILLISECONDS);
                 // tell Camel routing engine we continue routing asynchronous
@@ -122,7 +126,7 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
                     if (!isRunAllowed()) {
                         exchange.setException(new RejectedExecutionException());
                     } else {
-                        log.debug("Scheduling rejected task, so letting caller run, delaying at first for {} millis for exchangeId: {}", delay, exchange.getExchangeId());
+                        LOG.debug("Scheduling rejected task, so letting caller run, delaying at first for {} millis for exchangeId: {}", delay, exchange.getExchangeId());
                         // let caller run by processing
                         try {
                             delay(delay, exchange);
@@ -156,7 +160,7 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
             delay = calculateDelay(exchange);
             if (delay <= 0) {
                 // no delay then continue routing
-                log.trace("No delay for exchangeId: {}", exchange.getExchangeId());
+                LOG.trace("No delay for exchangeId: {}", exchange.getExchangeId());
                 return processor.process(exchange, callback);
             }
         } catch (Throwable e) {
@@ -226,8 +230,8 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
      * Called when a sleep is interrupted; allows derived classes to handle this case differently
      */
     protected void handleSleepInterruptedException(InterruptedException e, Exchange exchange) throws InterruptedException {
-        if (log.isDebugEnabled()) {
-            log.debug("Sleep interrupted, are we stopping? {}", isStopping() || isStopped());
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Sleep interrupted, are we stopping? {}", isStopping() || isStopped());
         }
         Thread.currentThread().interrupt();
         throw e;
@@ -241,7 +245,7 @@ public abstract class DelayProcessorSupport extends DelegateAsyncProcessor imple
         if (delay <= 0) {
             return;
         }
-        log.trace("Sleeping for: {} millis", delay);
+        LOG.trace("Sleeping for: {} millis", delay);
         Thread.sleep(delay);
     }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/Enricher.java b/core/camel-base/src/main/java/org/apache/camel/processor/Enricher.java
index 411b36a..a63a747 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/Enricher.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/Enricher.java
@@ -40,6 +40,9 @@ import org.apache.camel.support.EventHelper;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.StopWatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.support.ExchangeHelper.copyResultsPreservePattern;
 
@@ -57,6 +60,8 @@ import static org.apache.camel.support.ExchangeHelper.copyResultsPreservePattern
  */
 public class Enricher extends AsyncProcessorSupport implements IdAware, RouteIdAware, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(Enricher.class);
+
     private CamelContext camelContext;
     private String id;
     private String routeId;
@@ -177,8 +182,8 @@ public class Enricher extends AsyncProcessorSupport implements IdAware, RouteIdA
             producer = producerCache.acquireProducer(endpoint);
         } catch (Throwable e) {
             if (isIgnoreInvalidEndpoint()) {
-                if (log.isDebugEnabled()) {
-                    log.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
                 }
             } else {
                 exchange.setException(e);
@@ -249,13 +254,13 @@ public class Enricher extends AsyncProcessorSupport implements IdAware, RouteIdA
         });
 
         if (!sync) {
-            log.trace("Processing exchangeId: {} is continued being processed asynchronously", exchange.getExchangeId());
+            LOG.trace("Processing exchangeId: {} is continued being processed asynchronously", exchange.getExchangeId());
             // the remainder of the routing slip will be completed async
             // so we break out now, then the callback will be invoked which then continue routing from where we left here
             return false;
         }
 
-        log.trace("Processing exchangeId: {} is continued being processed synchronously", exchange.getExchangeId());
+        LOG.trace("Processing exchangeId: {} is continued being processed synchronously", exchange.getExchangeId());
 
         if (watch != null) {
             // emit event that the exchange was sent to the endpoint
@@ -358,7 +363,7 @@ public class Enricher extends AsyncProcessorSupport implements IdAware, RouteIdA
 
         if (producerCache == null) {
             producerCache = new DefaultProducerCache(this, camelContext, cacheSize);
-            log.debug("Enricher {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
+            LOG.debug("Enricher {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
         }
 
         ServiceHelper.startService(producerCache, aggregationStrategy);
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/EventNotifierProducer.java b/core/camel-base/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
index 2764c85..e6654cf 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/EventNotifierProducer.java
@@ -26,6 +26,8 @@ import org.apache.camel.support.DefaultAsyncProducer;
 import org.apache.camel.support.EventHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.StopWatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Ensures a {@link Producer} do send {@link org.apache.camel.spi.EventNotifier} notifications when
@@ -33,6 +35,8 @@ import org.apache.camel.util.StopWatch;
  */
 public final class EventNotifierProducer extends DefaultAsyncProducer {
 
+    private static final Logger LOG = LoggerFactory.getLogger(EventNotifierProducer.class);
+
     private final AsyncProducer producer;
 
     /**
@@ -63,7 +67,7 @@ public final class EventNotifierProducer extends DefaultAsyncProducer {
         }
 
         try {
-            log.debug(">>>> {} {}", getEndpoint(), exchange);
+            LOG.debug(">>>> {} {}", getEndpoint(), exchange);
             return producer.process(exchange, new AsyncCallback() {
                 @Override
                 public void done(boolean doneSync) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/FatalFallbackErrorHandler.java b/core/camel-base/src/main/java/org/apache/camel/processor/FatalFallbackErrorHandler.java
index ba8b206..b128fba 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/FatalFallbackErrorHandler.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/FatalFallbackErrorHandler.java
@@ -23,6 +23,8 @@ import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.support.builder.ExpressionBuilder.routeIdExpression;
 
@@ -36,6 +38,8 @@ import static org.apache.camel.support.builder.ExpressionBuilder.routeIdExpressi
  */
 public class FatalFallbackErrorHandler extends DelegateAsyncProcessor implements ErrorHandler {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FatalFallbackErrorHandler.class);
+
     private boolean deadLetterChannel;
 
     public FatalFallbackErrorHandler(Processor processor) {
@@ -60,7 +64,7 @@ public class FatalFallbackErrorHandler extends DelegateAsyncProcessor implements
             exchange.setProperty(Exchange.FATAL_FALLBACK_ERROR_HANDLER, fatals);
         }
         if (fatals.contains(id)) {
-            log.warn("Circular error-handler detected at route: {} - breaking out processing Exchange: {}", id, exchange);
+            LOG.warn("Circular error-handler detected at route: {} - breaking out processing Exchange: {}", id, exchange);
             // mark this exchange as already been error handler handled (just by having this property)
             // the false value mean the caught exception will be kept on the exchange, causing the
             // exception to be propagated back to the caller, and to break out routing
@@ -158,15 +162,15 @@ public class FatalFallbackErrorHandler extends DelegateAsyncProcessor implements
         // when using dead letter channel we only want to log at WARN level
         if (deadLetterChannel) {
             if (t != null) {
-                log.warn(message, t);
+                LOG.warn(message, t);
             } else {
-                log.warn(message);
+                LOG.warn(message);
             }
         } else {
             if (t != null) {
-                log.error(message, t);
+                LOG.error(message, t);
             } else {
-                log.error(message);
+                LOG.error(message);
             }
         }
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/FilterProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/FilterProcessor.java
index c5d50fe..637cc65 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/FilterProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/FilterProcessor.java
@@ -25,6 +25,8 @@ import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The processor which implements the
@@ -32,6 +34,8 @@ import org.apache.camel.support.service.ServiceHelper;
  */
 public class FilterProcessor extends DelegateAsyncProcessor implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FilterProcessor.class);
+
     private String id;
     private String routeId;
     private final Predicate predicate;
@@ -63,7 +67,7 @@ public class FilterProcessor extends DelegateAsyncProcessor implements Traceable
     public boolean matches(Exchange exchange) {
         boolean matches = predicate.matches(exchange);
 
-        log.debug("Filter matches: {} for exchange: {}", matches, exchange);
+        LOG.debug("Filter matches: {} for exchange: {}", matches, exchange);
 
         // set property whether the filter matches or not
         exchange.setProperty(Exchange.FILTER_MATCHED, matches);
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/FinallyProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/FinallyProcessor.java
index 4231151..7a65995 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/FinallyProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/FinallyProcessor.java
@@ -24,12 +24,16 @@ import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Processor to handle do finally supporting asynchronous routing engine
  */
 public class FinallyProcessor extends DelegateAsyncProcessor implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FinallyProcessor.class);
+
     private String id;
     private String routeId;
 
@@ -111,7 +115,7 @@ public class FinallyProcessor extends DelegateAsyncProcessor implements Traceabl
                 if (!doneSync) {
                     // signal callback to continue routing async
                     ExchangeHelper.prepareOutToIn(exchange);
-                    log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+                    LOG.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
                 }
             } finally {
                 // callback must always be called
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/LogProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/LogProcessor.java
index b443472..db3c548 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/LogProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/LogProcessor.java
@@ -28,12 +28,16 @@ import org.apache.camel.spi.LogListener;
 import org.apache.camel.spi.MaskingFormatter;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A processor which evaluates an {@link Expression} and logs it.
  */
 public class LogProcessor extends AsyncProcessorSupport implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(LogProcessor.class);
+
     private String id;
     private String routeId;
     private final Expression expression;
@@ -80,9 +84,9 @@ public class LogProcessor extends AsyncProcessorSupport implements Traceable, Id
                 String output = listener.onLog(exchange, logger, message);
                 message = output != null ? output : message;
             } catch (Throwable t) {
-                log.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
-                if (log.isDebugEnabled()) {
-                    log.debug("", t);
+                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("", t);
                 }
             }
         }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/LoopProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/LoopProcessor.java
index 3989f52..aae38ee 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/LoopProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/LoopProcessor.java
@@ -27,6 +27,9 @@ import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.processor.PipelineHelper.continueProcessing;
 
@@ -35,6 +38,8 @@ import static org.apache.camel.processor.PipelineHelper.continueProcessing;
  */
 public class LoopProcessor extends DelegateAsyncProcessor implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(LoopProcessor.class);
+
     private String id;
     private String routeId;
     private final Expression expression;
@@ -96,7 +101,7 @@ public class LoopProcessor extends DelegateAsyncProcessor implements Traceable,
         public void run() {
             try {
                 // check for error if so we should break out
-                boolean cont = continueProcessing(current, "so breaking out of loop", log);
+                boolean cont = continueProcessing(current, "so breaking out of loop", LOG);
                 boolean doWhile = predicate == null || predicate.matches(current);
                 boolean doLoop = expression == null || index < count;
 
@@ -106,7 +111,7 @@ public class LoopProcessor extends DelegateAsyncProcessor implements Traceable,
                     current = prepareExchange(exchange, index);
 
                     // set current index as property
-                    log.debug("LoopProcessor: iteration #{}", index);
+                    LOG.debug("LoopProcessor: iteration #{}", index);
                     current.setProperty(Exchange.LOOP_INDEX, index);
 
                     processor.process(current, doneSync -> {
@@ -117,11 +122,11 @@ public class LoopProcessor extends DelegateAsyncProcessor implements Traceable,
                 } else {
                     // we are done so prepare the result
                     ExchangeHelper.copyResults(exchange, current);
-                    log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+                    LOG.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
                     callback.done(false);
                 }
             } catch (Exception e) {
-                log.trace("Processing failed for exchangeId: {} >>> {}", exchange.getExchangeId(), e.getMessage());
+                LOG.trace("Processing failed for exchangeId: {} >>> {}", exchange.getExchangeId(), e.getMessage());
                 exchange.setException(e);
                 callback.done(false);
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java
index 6a918ed..2f4b637 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java
@@ -63,6 +63,9 @@ import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.KeyValueHolder;
 import org.apache.camel.util.StopWatch;
 import org.apache.camel.util.concurrent.AsyncCompletionService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.util.ObjectHelper.notNull;
 
@@ -74,6 +77,8 @@ import static org.apache.camel.util.ObjectHelper.notNull;
  */
 public class MulticastProcessor extends AsyncProcessorSupport implements Navigate<Processor>, Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(MulticastProcessor.class);
+
     /**
      * Class that represent each step in the multicast route to do
      */
@@ -343,7 +348,7 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
 
                         // Decide whether to continue with the multicast or not; similar logic to the Pipeline
                         // remember to test for stop on exception and aggregate before copying back results
-                        boolean continueProcessing = PipelineHelper.continueProcessing(exchange, "Multicast processing failed for number " + index, log);
+                        boolean continueProcessing = PipelineHelper.continueProcessing(exchange, "Multicast processing failed for number " + index, LOG);
                         if (stopOnException && !continueProcessing) {
                             if (exchange.getException() != null) {
                                 // wrap in exception to explain where it failed
@@ -503,7 +508,7 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
 
         // we are done so close the pairs iterator
         if (pairs instanceof Closeable) {
-            IOHelper.close((Closeable) pairs, "pairs", log);
+            IOHelper.close((Closeable) pairs, "pairs", LOG);
         }
 
         AggregationStrategy strategy = getAggregationStrategy(subExchange);
@@ -715,11 +720,11 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
             // lookup cached first to reuse and preserve memory
             answer = errorHandlers.get(key);
             if (answer != null) {
-                log.trace("Using existing error handler for: {}", processor);
+                LOG.trace("Using existing error handler for: {}", processor);
                 return answer;
             }
 
-            log.trace("Creating error handler for: {}", processor);
+            LOG.trace("Creating error handler for: {}", processor);
             ErrorHandlerFactory builder = routeContext.getErrorHandlerFactory();
             // create error handler (create error handler directly to keep it light weight,
             // instead of using ProcessorDefinition.wrapInErrorHandler)
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
index 64a5ead..6cdd4f6 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
@@ -35,6 +35,9 @@ import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.SynchronizationAdapter;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.util.ObjectHelper.notNull;
 
@@ -43,6 +46,8 @@ import static org.apache.camel.util.ObjectHelper.notNull;
  */
 public class OnCompletionProcessor extends AsyncProcessorSupport implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(OnCompletionProcessor.class);
+
     private final CamelContext camelContext;
     private String id;
     private String routeId;
@@ -210,7 +215,7 @@ public class OnCompletionProcessor extends AsyncProcessorSupport implements Trac
         }
 
         if (useOriginalBody) {
-            log.trace("Using the original IN message instead of current");
+            LOG.trace("Using the original IN message instead of current");
 
             Message original = ExchangeHelper.getOriginalInMessage(exchange);
             answer.setIn(original);
@@ -247,14 +252,14 @@ public class OnCompletionProcessor extends AsyncProcessorSupport implements Trac
             if (executorService != null) {
                 executorService.submit(new Callable<Exchange>() {
                     public Exchange call() throws Exception {
-                        log.debug("Processing onComplete: {}", copy);
+                        LOG.debug("Processing onComplete: {}", copy);
                         doProcess(processor, copy);
                         return copy;
                     }
                 });
             } else {
                 // run without thread-pool
-                log.debug("Processing onComplete: {}", copy);
+                LOG.debug("Processing onComplete: {}", copy);
                 doProcess(processor, copy);
             }
         }
@@ -281,7 +286,7 @@ public class OnCompletionProcessor extends AsyncProcessorSupport implements Trac
             if (executorService != null) {
                 executorService.submit(new Callable<Exchange>() {
                     public Exchange call() throws Exception {
-                        log.debug("Processing onFailure: {}", copy);
+                        LOG.debug("Processing onFailure: {}", copy);
                         doProcess(processor, copy);
                         // restore exception after processing
                         copy.setException(original);
@@ -290,7 +295,7 @@ public class OnCompletionProcessor extends AsyncProcessorSupport implements Trac
                 });
             } else {
                 // run without thread-pool
-                log.debug("Processing onFailure: {}", copy);
+                LOG.debug("Processing onFailure: {}", copy);
                 doProcess(processor, copy);
                 // restore exception after processing
                 copy.setException(original);
@@ -338,14 +343,14 @@ public class OnCompletionProcessor extends AsyncProcessorSupport implements Trac
             if (executorService != null) {
                 executorService.submit(new Callable<Exchange>() {
                     public Exchange call() throws Exception {
-                        log.debug("Processing onAfterRoute: {}", copy);
+                        LOG.debug("Processing onAfterRoute: {}", copy);
                         doProcess(processor, copy);
                         return copy;
                     }
                 });
             } else {
                 // run without thread-pool
-                log.debug("Processing onAfterRoute: {}", copy);
+                LOG.debug("Processing onAfterRoute: {}", copy);
                 doProcess(processor, copy);
             }
         }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java b/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java
index 2f50e1b..a282ce6 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/Pipeline.java
@@ -35,6 +35,9 @@ import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.processor.PipelineHelper.continueProcessing;
 
@@ -44,6 +47,8 @@ import static org.apache.camel.processor.PipelineHelper.continueProcessing;
  */
 public class Pipeline extends AsyncProcessorSupport implements Navigate<Processor>, Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(Pipeline.class);
+
     private final CamelContext camelContext;
     private List<AsyncProcessor> processors;
     private String id;
@@ -92,7 +97,7 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
 
     protected void doProcess(Exchange exchange, AsyncCallback callback, Iterator<AsyncProcessor> processors, boolean first) {
         if (continueRouting(processors, exchange)
-                && (first || continueProcessing(exchange, "so breaking out of pipeline", log))) {
+                && (first || continueProcessing(exchange, "so breaking out of pipeline", LOG))) {
 
             // prepare for next run
             ExchangeHelper.prepareOutToIn(exchange);
@@ -108,8 +113,8 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
             // logging nextExchange as it contains the exchange that might have altered the payload and since
             // we are logging the completion if will be confusing if we log the original instead
             // we could also consider logging the original and the nextExchange then we have *before* and *after* snapshots
-            if (log.isTraceEnabled()) {
-                log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
             }
 
             camelContext.getReactiveExecutor().schedule(callback);
@@ -121,16 +126,16 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo
         if (stop != null) {
             boolean doStop = exchange.getContext().getTypeConverter().convertTo(Boolean.class, stop);
             if (doStop) {
-                if (log.isDebugEnabled()) {
-                    log.debug("ExchangeId: {} is marked to stop routing: {}", exchange.getExchangeId(), exchange);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("ExchangeId: {} is marked to stop routing: {}", exchange.getExchangeId(), exchange);
                 }
                 return false;
             }
         }
         // continue if there are more processors to route
         boolean answer = it.hasNext();
-        if (log.isTraceEnabled()) {
-            log.trace("ExchangeId: {} should continue routing: {}", exchange.getExchangeId(), answer);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("ExchangeId: {} should continue routing: {}", exchange.getExchangeId(), answer);
         }
         return answer;
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/PollEnricher.java b/core/camel-base/src/main/java/org/apache/camel/processor/PollEnricher.java
index 828e3ef..1eeb601 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/PollEnricher.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/PollEnricher.java
@@ -39,6 +39,9 @@ import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.EventDrivenPollingConsumer;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.support.ExchangeHelper.copyResultsPreservePattern;
 
@@ -56,6 +59,8 @@ import static org.apache.camel.support.ExchangeHelper.copyResultsPreservePattern
  */
 public class PollEnricher extends AsyncProcessorSupport implements IdAware, RouteIdAware, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(PollEnricher.class);
+
     private CamelContext camelContext;
     private ConsumerCache consumerCache;
     private String id;
@@ -211,8 +216,8 @@ public class PollEnricher extends AsyncProcessorSupport implements IdAware, Rout
             consumer = consumerCache.acquirePollingConsumer(endpoint);
         } catch (Throwable e) {
             if (isIgnoreInvalidEndpoint()) {
-                if (log.isDebugEnabled()) {
-                    log.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
                 }
             } else {
                 exchange.setException(e);
@@ -239,20 +244,20 @@ public class PollEnricher extends AsyncProcessorSupport implements IdAware, Rout
         Exchange resourceExchange;
         try {
             if (timeout < 0) {
-                log.debug("Consumer receive: {}", consumer);
+                LOG.debug("Consumer receive: {}", consumer);
                 resourceExchange = consumer.receive();
             } else if (timeout == 0) {
-                log.debug("Consumer receiveNoWait: {}", consumer);
+                LOG.debug("Consumer receiveNoWait: {}", consumer);
                 resourceExchange = consumer.receiveNoWait();
             } else {
-                log.debug("Consumer receive with timeout: {} ms. {}", timeout, consumer);
+                LOG.debug("Consumer receive with timeout: {} ms. {}", timeout, consumer);
                 resourceExchange = consumer.receive(timeout);
             }
 
             if (resourceExchange == null) {
-                log.debug("Consumer received no exchange");
+                LOG.debug("Consumer received no exchange");
             } else {
-                log.debug("Consumer received: {}", resourceExchange);
+                LOG.debug("Consumer received: {}", resourceExchange);
             }
         } catch (Exception e) {
             exchange.setException(new CamelExchangeException("Error during poll", exchange, e));
@@ -367,7 +372,7 @@ public class PollEnricher extends AsyncProcessorSupport implements IdAware, Rout
         if (consumerCache == null) {
             // create consumer cache if we use dynamic expressions for computing the endpoints to poll
             consumerCache = new DefaultConsumerCache(this, camelContext, cacheSize);
-            log.debug("PollEnrich {} using ConsumerCache with cacheSize={}", this, cacheSize);
+            LOG.debug("PollEnrich {} using ConsumerCache with cacheSize={}", this, cacheSize);
         }
         if (aggregationStrategy instanceof CamelContextAware) {
             ((CamelContextAware) aggregationStrategy).setCamelContext(camelContext);
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/RecipientList.java b/core/camel-base/src/main/java/org/apache/camel/processor/RecipientList.java
index d8dc7ac..a0526d1 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/RecipientList.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/RecipientList.java
@@ -37,6 +37,9 @@ import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.StringHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.util.ObjectHelper.notNull;
 
@@ -48,6 +51,8 @@ import static org.apache.camel.util.ObjectHelper.notNull;
  */
 public class RecipientList extends AsyncProcessorSupport implements IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(RecipientList.class);
+
     private static final String IGNORE_DELIMITER_MARKER = "false";
     private final CamelContext camelContext;
     private String id;
@@ -193,7 +198,7 @@ public class RecipientList extends AsyncProcessorSupport implements IdAware, Rou
     protected void doStart() throws Exception {
         if (producerCache == null) {
             producerCache = new DefaultProducerCache(this, camelContext, cacheSize);
-            log.debug("RecipientList {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
+            LOG.debug("RecipientList {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
         }
         ServiceHelper.startService(aggregationStrategy, producerCache);
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
index 7701ea9..820cbd3 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
@@ -192,8 +192,8 @@ public class RecipientListProcessor extends MulticastProcessor {
                 producer = producerCache.acquireProducer(endpoint);
             } catch (Exception e) {
                 if (isIgnoreInvalidEndpoints()) {
-                    if (log.isDebugEnabled()) {
-                        log.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
                     }
                     continue;
                 } else {
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/Resequencer.java b/core/camel-base/src/main/java/org/apache/camel/processor/Resequencer.java
index a9b0e11..ed662d7 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/Resequencer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/Resequencer.java
@@ -51,6 +51,8 @@ import org.apache.camel.support.ExpressionComparator;
 import org.apache.camel.support.LoggingExceptionHandler;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * An implementation of the <a href="http://camel.apache.org/resequencer.html">Resequencer</a>
@@ -58,6 +60,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class Resequencer extends AsyncProcessorSupport implements Navigate<Processor>, IdAware, RouteIdAware, Traceable {
 
+    private static final Logger LOG = LoggerFactory.getLogger(Resequencer.class);
+
     public static final long DEFAULT_BATCH_TIMEOUT = 1000L;
     public static final int DEFAULT_BATCH_SIZE = 100;
 
@@ -145,7 +149,7 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
         // setting batch size to 0 or negative is like disabling it, so we set it as the max value
         // as the code logic is dependent on a batch size having 1..n value
         if (batchSize <= 0) {
-            log.debug("Disabling batch size, will only be triggered by timeout");
+            LOG.debug("Disabling batch size, will only be triggered by timeout");
             this.batchSize = Integer.MAX_VALUE;
         } else {
             this.batchSize = batchSize;
@@ -345,14 +349,14 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
                 int size = exchange.getProperty(Exchange.BATCH_SIZE, Integer.class);
                 if (batchSize != size) {
                     batchSize = size;
-                    log.trace("Using batch consumer completion, so setting batch size to: {}", batchSize);
+                    LOG.trace("Using batch consumer completion, so setting batch size to: {}", batchSize);
                 }
             }
 
             // validate that the exchange can be used
             if (!isValid(exchange)) {
                 if (isIgnoreInvalidExchanges()) {
-                    log.debug("Invalid Exchange. This Exchange will be ignored: {}", exchange);
+                    LOG.debug("Invalid Exchange. This Exchange will be ignored: {}", exchange);
                 } else {
                     throw new CamelExchangeException("Exchange is not valid to be used by the BatchProcessor", exchange);
                 }
@@ -428,7 +432,7 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
                 do {
                     try {
                         if (!exchangeEnqueued.get()) {
-                            log.trace("Waiting for new exchange to arrive or batchTimeout to occur after {} ms.", batchTimeout);
+                            LOG.trace("Waiting for new exchange to arrive or batchTimeout to occur after {} ms.", batchTimeout);
                             exchangeEnqueuedCondition.await(batchTimeout, TimeUnit.MILLISECONDS);
                         }
 
@@ -440,9 +444,9 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
 
                         if (id != null || !exchangeEnqueued.get()) {
                             if (id != null) {
-                                log.trace("Collecting exchanges to be aggregated triggered by completion predicate");
+                                LOG.trace("Collecting exchanges to be aggregated triggered by completion predicate");
                             } else {
-                                log.trace("Collecting exchanges to be aggregated triggered by batch timeout");
+                                LOG.trace("Collecting exchanges to be aggregated triggered by batch timeout");
                             }
                             drainQueueTo(collection, batchSize, id);
                         } else {
@@ -453,7 +457,7 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
                                 drainQueueTo(collection, batchSize, id);
                             }
                             if (drained) {
-                                log.trace("Collecting exchanges to be aggregated triggered by new exchanges received");
+                                LOG.trace("Collecting exchanges to be aggregated triggered by new exchanges received");
                             }
 
                             if (!isOutBatchCompleted()) {
@@ -513,14 +517,14 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
         }
 
         public void enqueueExchange(Exchange exchange) {
-            log.debug("Received exchange to be batched: {}", exchange);
+            LOG.debug("Received exchange to be batched: {}", exchange);
             queueLock.lock();
             try {
                 // pre test whether the completion predicate matched
                 if (completionPredicate != null) {
                     boolean matches = completionPredicate.matches(exchange);
                     if (matches) {
-                        log.trace("Exchange matched completion predicate: {}", exchange);
+                        LOG.trace("Exchange matched completion predicate: {}", exchange);
                         // add this exchange to the list of exchanges which marks the batch as complete
                         completionPredicateMatched.add(exchange.getExchangeId());
                     }
@@ -538,7 +542,7 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce
             while (iter.hasNext()) {
                 Exchange exchange = iter.next();
                 iter.remove();
-                log.debug("Sending aggregated exchange: {}", exchange);
+                LOG.debug("Sending aggregated exchange: {}", exchange);
                 processExchange(exchange);
             }
         }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java b/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java
index 8162624..eec3a47 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java
@@ -40,6 +40,9 @@ import org.apache.camel.support.MessageHelper;
 import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.builder.ExpressionBuilder;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 
 import static org.apache.camel.processor.PipelineHelper.continueProcessing;
 import static org.apache.camel.util.ObjectHelper.notNull;
@@ -55,6 +58,8 @@ import static org.apache.camel.util.ObjectHelper.notNull;
  */
 public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(RoutingSlip.class);
+
     protected String id;
     protected String routeId;
     protected ProducerCache producerCache;
@@ -253,20 +258,20 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
             current = prepareExchangeForRoutingSlip(current, endpoint);
             
             if (!sync) {
-                log.trace("Processing exchangeId: {} is continued being processed asynchronously", exchange.getExchangeId());
+                LOG.trace("Processing exchangeId: {} is continued being processed asynchronously", exchange.getExchangeId());
                 // the remainder of the routing slip will be completed async
                 // so we break out now, then the callback will be invoked which then continue routing from where we left here
                 return false;
             }
 
-            log.trace("Processing exchangeId: {} is continued being processed synchronously", exchange.getExchangeId());
+            LOG.trace("Processing exchangeId: {} is continued being processed synchronously", exchange.getExchangeId());
 
             // we ignore some kind of exceptions and allow us to continue
             if (isIgnoreInvalidEndpoints()) {
                 FailedToCreateProducerException e = current.getException(FailedToCreateProducerException.class);
                 if (e != null) {
-                    if (log.isDebugEnabled()) {
-                        log.debug("Endpoint uri is invalid: " + endpoint + ". This exception will be ignored.", e);
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("Endpoint uri is invalid: " + endpoint + ". This exception will be ignored.", e);
                     }
                     current.setException(null);
                 }
@@ -274,7 +279,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
 
             // Decide whether to continue with the recipients or not; similar logic to the Pipeline
             // check for error if so we should break out
-            if (!continueProcessing(current, "so breaking out of the routing slip", log)) {
+            if (!continueProcessing(current, "so breaking out of the routing slip", LOG)) {
                 break;
             }
         }
@@ -282,7 +287,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
         // logging nextExchange as it contains the exchange that might have altered the payload and since
         // we are logging the completion if will be confusing if we log the original instead
         // we could also consider logging the original and the nextExchange then we have *before* and *after* snapshots
-        log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), current);
+        LOG.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), current);
 
         // copy results back to the original exchange
         ExchangeHelper.copyResults(exchange, current);
@@ -300,7 +305,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
             endpoint = ExchangeHelper.resolveEndpoint(exchange, nextRecipient);
         } catch (Exception e) {
             if (isIgnoreInvalidEndpoints()) {
-                log.info("Endpoint uri is invalid: " + nextRecipient + ". This exception will be ignored.", e);
+                LOG.info("Endpoint uri is invalid: " + nextRecipient + ". This exception will be ignored.", e);
             } else {
                 throw e;
             }
@@ -345,7 +350,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
                                       final AsyncCallback originalCallback, final RoutingSlipIterator iter) {
 
         // this does the actual processing so log at trace level
-        log.trace("Processing exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+        LOG.trace("Processing exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
 
         // routing slip callback which are used when
         // - routing slip was routed asynchronously
@@ -388,8 +393,8 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
                             if (isIgnoreInvalidEndpoints()) {
                                 FailedToCreateProducerException e = current.getException(FailedToCreateProducerException.class);
                                 if (e != null) {
-                                    if (log.isDebugEnabled()) {
-                                        log.debug("Endpoint uri is invalid: " + endpoint + ". This exception will be ignored.", e);
+                                    if (LOG.isDebugEnabled()) {
+                                        LOG.debug("Endpoint uri is invalid: " + endpoint + ". This exception will be ignored.", e);
                                     }
                                     current.setException(null);
                                 }
@@ -397,7 +402,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
 
                             // Decide whether to continue with the recipients or not; similar logic to the Pipeline
                             // check for error if so we should break out
-                            if (!continueProcessing(current, "so breaking out of the routing slip", log)) {
+                            if (!continueProcessing(current, "so breaking out of the routing slip", LOG)) {
                                 break;
                             }
 
@@ -419,7 +424,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
                             current = prepareExchangeForRoutingSlip(current, endpoint1);
 
                             if (!sync) {
-                                log.trace("Processing exchangeId: {} is continued being processed asynchronously", original.getExchangeId());
+                                LOG.trace("Processing exchangeId: {} is continued being processed asynchronously", original.getExchangeId());
                                 return;
                             }
                         }
@@ -427,7 +432,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
                         // logging nextExchange as it contains the exchange that might have altered the payload and since
                         // we are logging the completion if will be confusing if we log the original instead
                         // we could also consider logging the original and the nextExchange then we have *before* and *after* snapshots
-                        log.trace("Processing complete for exchangeId: {} >>> {}", original.getExchangeId(), current);
+                        LOG.trace("Processing complete for exchangeId: {} >>> {}", original.getExchangeId(), current);
 
                         // copy results back to the original exchange
                         ExchangeHelper.copyResults(original, current);
@@ -447,7 +452,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
     protected void doStart() throws Exception {
         if (producerCache == null) {
             producerCache = new DefaultProducerCache(this, camelContext, cacheSize);
-            log.debug("RoutingSlip {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
+            LOG.debug("RoutingSlip {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
         }
 
         ServiceHelper.startService(producerCache, errorHandler);
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/SamplingThrottler.java b/core/camel-base/src/main/java/org/apache/camel/processor/SamplingThrottler.java
index 7ae1aed..d1e2e27 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/SamplingThrottler.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/SamplingThrottler.java
@@ -25,6 +25,8 @@ import org.apache.camel.Traceable;
 import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A <code>SamplingThrottler</code> is a special kind of throttler. It also
@@ -39,6 +41,8 @@ import org.apache.camel.support.AsyncProcessorSupport;
  */
 public class SamplingThrottler extends AsyncProcessorSupport implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(SamplingThrottler.class);
+
     private String id;
     private String routeId;
     private long messageFrequency;
@@ -131,13 +135,13 @@ public class SamplingThrottler extends AsyncProcessorSupport implements Traceabl
                 long now = System.currentTimeMillis();
                 if (now >= timeOfLastExchange + periodInMillis) {
                     doSend = true;
-                    if (log.isTraceEnabled()) {
-                        log.trace(sampled.sample());
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace(sampled.sample());
                     }
                     timeOfLastExchange = now;
                 } else {
-                    if (log.isTraceEnabled()) {
-                        log.trace(sampled.drop());
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace(sampled.drop());
                     }
                 }
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
index 5585117..849d4b9 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
@@ -37,6 +37,8 @@ import org.apache.camel.support.EndpointHelper;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Processor for forwarding exchanges to a dynamic endpoint destination.
@@ -45,6 +47,8 @@ import org.apache.camel.util.URISupport;
  */
 public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAware, RouteIdAware, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(SendDynamicProcessor.class);
+
     protected SendDynamicAware dynamicAware;
     protected CamelContext camelContext;
     protected final String uri;
@@ -122,8 +126,8 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
                         preAwareProcessor = dynamicAware.createPreProcessor(exchange, entry);
                         postAwareProcessor = dynamicAware.createPostProcessor(exchange, entry);
                         if (staticUri != null) {
-                            if (log.isDebugEnabled()) {
-                                log.debug("Optimising toD via SendDynamicAware component: {} to use static uri: {}", scheme, URISupport.sanitizeUri(staticUri));
+                            if (LOG.isDebugEnabled()) {
+                                LOG.debug("Optimising toD via SendDynamicAware component: {} to use static uri: {}", scheme, URISupport.sanitizeUri(staticUri));
                             }
                         }
                     }
@@ -135,8 +139,8 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
                 endpoint = resolveEndpoint(exchange, recipient);
             }
             if (endpoint == null) {
-                if (log.isDebugEnabled()) {
-                    log.debug("Send dynamic evaluated as null so cannot send to any endpoint");
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Send dynamic evaluated as null so cannot send to any endpoint");
                 }
                 // no endpoint to send to, so ignore
                 callback.done(true);
@@ -145,8 +149,8 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
             destinationExchangePattern = EndpointHelper.resolveExchangePatternFromUrl(endpoint.getEndpointUri());
         } catch (Throwable e) {
             if (isIgnoreInvalidEndpoint()) {
-                if (log.isDebugEnabled()) {
-                    log.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Endpoint uri is invalid: " + recipient + ". This exception will be ignored.", e);
                 }
             } else {
                 exchange.setException(e);
@@ -174,7 +178,7 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
                 c.done(true);
             }
 
-            log.debug(">>>> {} {}", endpoint, e);
+            LOG.debug(">>>> {} {}", endpoint, e);
             return p.process(target, new AsyncCallback() {
                 public void done(boolean doneSync) {
                     // restore previous MEP
@@ -254,7 +258,7 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
     protected void doStart() throws Exception {
         if (producerCache == null) {
             producerCache = new DefaultProducerCache(this, camelContext, cacheSize);
-            log.debug("DynamicSendTo {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
+            LOG.debug("DynamicSendTo {} using ProducerCache with cacheSize={}", this, producerCache.getCapacity());
         }
 
         if (isAllowOptimisedComponents() && uri != null) {
@@ -268,15 +272,15 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
                     SendDynamicAwareResolver resolver = new SendDynamicAwareResolver();
                     dynamicAware = resolver.resolve(camelContext, scheme);
                     if (dynamicAware != null) {
-                        if (log.isDebugEnabled()) {
-                            log.debug("Detected SendDynamicAware component: {} optimising toD: {}", scheme, URISupport.sanitizeUri(uri));
+                        if (LOG.isDebugEnabled()) {
+                            LOG.debug("Detected SendDynamicAware component: {} optimising toD: {}", scheme, URISupport.sanitizeUri(uri));
                         }
                     }
                 }
             } catch (Throwable e) {
                 // ignore
-                if (log.isDebugEnabled()) {
-                    log.debug("Error creating optimised SendDynamicAwareResolver for uri: " + URISupport.sanitizeUri(uri)
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Error creating optimised SendDynamicAwareResolver for uri: " + URISupport.sanitizeUri(uri)
                         + " due to " + e.getMessage() + ". This exception is ignored", e);
                 }
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/SendProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/SendProcessor.java
index 6c20e6c..bb4f609 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/SendProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/SendProcessor.java
@@ -32,12 +32,15 @@ import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.ProducerCache;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorSupport;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.EndpointHelper;
 import org.apache.camel.support.EventHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StopWatch;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Processor for forwarding exchanges to a static endpoint destination.
@@ -46,6 +49,8 @@ import org.apache.camel.util.URISupport;
  */
 public class SendProcessor extends AsyncProcessorSupport implements Traceable, EndpointAware, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(SendProcessor.class);
+
     protected transient String traceLabelToString;
     protected final CamelContext camelContext;
     protected final ExchangePattern pattern;
@@ -159,7 +164,7 @@ public class SendProcessor extends AsyncProcessorSupport implements Traceable, E
                 };
             }
             try {
-                log.debug(">>>> {} {}", destination, exchange);
+                LOG.debug(">>>> {} {}", destination, exchange);
                 return producer.process(exchange, ac);
             } catch (Throwable throwable) {
                 exchange.setException(throwable);
@@ -169,7 +174,7 @@ public class SendProcessor extends AsyncProcessorSupport implements Traceable, E
             return true;
         } else {
             configureExchange(exchange, pattern);
-            log.debug(">>>> {} {}", destination, exchange);
+            LOG.debug(">>>> {} {}", destination, exchange);
 
             // send the exchange to the destination using the producer cache for the non optimized producers
             return producerCache.doInAsyncProducer(destination, exchange, callback, (producer, ex, cb) -> producer.process(ex, doneSync -> {
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/StepProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/StepProcessor.java
index 2d4c0f9..f1c0148 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/StepProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/StepProcessor.java
@@ -24,9 +24,13 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.EventHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class StepProcessor extends Pipeline {
 
+    private static final Logger LOG = LoggerFactory.getLogger(StepProcessor.class);
+
     private final String stepId;
 
     public StepProcessor(CamelContext camelContext, Collection<Processor> processors, String stepId) {
@@ -62,7 +66,7 @@ public class StepProcessor extends Pipeline {
                 }
             } catch (Throwable t) {
                 // must catch exceptions to ensure synchronizations is also invoked
-                log.warn("Exception occurred during event notification. This exception will be ignored.", t);
+                LOG.warn("Exception occurred during event notification. This exception will be ignored.", t);
             } finally {
                 if (oldStepId != null) {
                     // restore step id
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/StreamResequencer.java b/core/camel-base/src/main/java/org/apache/camel/processor/StreamResequencer.java
index c6e7a03..ffedd20 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/StreamResequencer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/StreamResequencer.java
@@ -41,6 +41,8 @@ import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.LoggingExceptionHandler;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A resequencer that re-orders a (continuous) stream of {@link Exchange}s. The
@@ -59,12 +61,13 @@ import org.apache.camel.util.ObjectHelper;
  * Instances of this class poll for {@link Exchange}s from a given
  * <code>endpoint</code>. Resequencing work and the delivery of messages to
  * the next <code>processor</code> is done within the single polling thread.
- * 
  *
  * @see ResequencerEngine
  */
 public class StreamResequencer extends AsyncProcessorSupport implements SequenceSender<Exchange>, Navigate<Processor>, Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(StreamResequencer.class);
+
     private String id;
     private String routeId;
     private final CamelContext camelContext;
@@ -244,7 +247,7 @@ public class StreamResequencer extends AsyncProcessorSupport implements Sequence
             delivery.request();
         } catch (Exception e) {
             if (isIgnoreInvalidExchanges()) {
-                log.debug("Invalid Exchange. This Exchange will be ignored: {}", exchange);
+                LOG.debug("Invalid Exchange. This Exchange will be ignored: {}", exchange);
             } else {
                 exchange.setException(new CamelExchangeException("Error processing Exchange in StreamResequencer", exchange, e));
             }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/ThreadsProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
index bb16743..7ed4c9a 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
@@ -30,6 +30,8 @@ import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.concurrent.Rejectable;
 import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Threads processor that leverage a thread pool for continue processing the {@link Exchange}s
@@ -56,6 +58,8 @@ import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
  */
 public class ThreadsProcessor extends AsyncProcessorSupport implements IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ThreadsProcessor.class);
+
     private String id;
     private String routeId;
     private final CamelContext camelContext;
@@ -77,7 +81,7 @@ public class ThreadsProcessor extends AsyncProcessorSupport implements IdAware,
 
         @Override
         public void run() {
-            log.trace("Continue routing exchange {}", exchange);
+            LOG.trace("Continue routing exchange {}", exchange);
             if (shutdown.get()) {
                 exchange.setException(new RejectedExecutionException("ThreadsProcessor is not running."));
             }
@@ -88,7 +92,7 @@ public class ThreadsProcessor extends AsyncProcessorSupport implements IdAware,
         public void reject() {
             // reject should mark the exchange with an rejected exception and mark not to route anymore
             exchange.setException(new RejectedExecutionException());
-            log.trace("Rejected routing exchange {}", exchange);
+            LOG.trace("Rejected routing exchange {}", exchange);
             if (shutdown.get()) {
                 exchange.setException(new RejectedExecutionException("ThreadsProcessor is not running."));
             }
@@ -120,7 +124,7 @@ public class ThreadsProcessor extends AsyncProcessorSupport implements IdAware,
         // we cannot execute this asynchronously for transacted exchanges, as the transaction manager doesn't support
         // using different threads in the same transaction
         if (exchange.isTransacted()) {
-            log.trace("Transacted Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
+            LOG.trace("Transacted Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
             callback.done(true);
             return true;
         }
@@ -128,7 +132,7 @@ public class ThreadsProcessor extends AsyncProcessorSupport implements IdAware,
         try {
             // process the call in asynchronous mode
             ProcessCall call = new ProcessCall(exchange, callback, false);
-            log.trace("Submitting task {}", call);
+            LOG.trace("Submitting task {}", call);
             executorService.submit(call);
             // tell Camel routing engine we continue routing asynchronous
             return false;
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/Throttler.java b/core/camel-base/src/main/java/org/apache/camel/processor/Throttler.java
index 50d7689..ea5a536 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/Throttler.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/Throttler.java
@@ -36,6 +36,8 @@ import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A <a href="http://camel.apache.org/throttler.html">Throttler</a>
@@ -59,6 +61,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class Throttler extends AsyncProcessorSupport implements Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(Throttler.class);
+
     private static final String DEFAULT_KEY = "CamelThrottlerDefaultKey";
 
     private static final String PROPERTY_EXCHANGE_QUEUED_TIMESTAMP = "CamelThrottlerExchangeQueuedTimestamp";
@@ -102,7 +106,7 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
     @Override
     public boolean process(final Exchange exchange, final AsyncCallback callback) {
         long queuedStart = 0;
-        if (log.isTraceEnabled()) {
+        if (LOG.isTraceEnabled()) {
             queuedStart = exchange.getProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, 0L, Long.class);
             exchange.removeProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP);
         }
@@ -131,41 +135,41 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
                 } else {
                     // delegate to async pool
                     if (isAsyncDelayed() && !exchange.isTransacted() && state == State.SYNC) {
-                        log.debug("Throttle rate exceeded but AsyncDelayed enabled, so queueing for async processing, exchangeId: {}", exchange.getExchangeId());
+                        LOG.debug("Throttle rate exceeded but AsyncDelayed enabled, so queueing for async processing, exchangeId: {}", exchange.getExchangeId());
                         return processAsynchronously(exchange, callback, throttlingState);
                     }
 
                     // block waiting for a permit
                     long start = 0;
                     long elapsed = 0;
-                    if (log.isTraceEnabled()) {
+                    if (LOG.isTraceEnabled()) {
                         start = System.currentTimeMillis();
                     }
                     permit = throttlingState.take();
-                    if (log.isTraceEnabled()) {
+                    if (LOG.isTraceEnabled()) {
                         elapsed = System.currentTimeMillis() - start;
                     }
                     throttlingState.enqueue(permit, exchange);
 
                     if (state == State.ASYNC) {
-                        if (log.isTraceEnabled()) {
+                        if (LOG.isTraceEnabled()) {
                             long queuedTime = start - queuedStart;
-                            log.trace("Queued for {}ms, Throttled for {}ms, exchangeId: {}", queuedTime, elapsed, exchange.getExchangeId());
+                            LOG.trace("Queued for {}ms, Throttled for {}ms, exchangeId: {}", queuedTime, elapsed, exchange.getExchangeId());
                         }
                     } else {
-                        log.trace("Throttled for {}ms, exchangeId: {}", elapsed, exchange.getExchangeId());
+                        LOG.trace("Throttled for {}ms, exchangeId: {}", elapsed, exchange.getExchangeId());
                     }
                 }
             } else {
                 throttlingState.enqueue(permit, exchange);
 
                 if (state == State.ASYNC) {
-                    if (log.isTraceEnabled()) {
+                    if (LOG.isTraceEnabled()) {
                         long queuedTime = System.currentTimeMillis() - queuedStart;
-                        log.trace("Queued for {}ms, No throttling applied (throttle cleared while queued), for exchangeId: {}", queuedTime, exchange.getExchangeId());
+                        LOG.trace("Queued for {}ms, No throttling applied (throttle cleared while queued), for exchangeId: {}", queuedTime, exchange.getExchangeId());
                     }
                 } else {
-                    log.trace("No throttling applied to exchangeId: {}", exchange.getExchangeId());
+                    LOG.trace("No throttling applied to exchangeId: {}", exchange.getExchangeId());
                 }
             }
 
@@ -177,7 +181,7 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
             boolean forceShutdown = exchange.getContext().getShutdownStrategy().forceShutdown(this);
             if (forceShutdown) {
                 String msg = "Run not allowed as ShutdownStrategy is forcing shutting down, will reject executing exchange: " + exchange;
-                log.debug(msg);
+                LOG.debug(msg);
                 exchange.setException(new RejectedExecutionException(msg, e));
             } else {
                 exchange.setException(e);
@@ -198,7 +202,7 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
      */
     protected boolean processAsynchronously(final Exchange exchange, final AsyncCallback callback, ThrottlingState throttlingState) {
         try {
-            if (log.isTraceEnabled()) {
+            if (LOG.isTraceEnabled()) {
                 exchange.setProperty(PROPERTY_EXCHANGE_QUEUED_TIMESTAMP, System.currentTimeMillis());
             }
             exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC);
@@ -207,7 +211,7 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
             return false;
         } catch (final RejectedExecutionException e) {
             if (isCallerRunsWhenRejected()) {
-                log.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}", exchange.getExchangeId());
+                LOG.debug("AsyncExecutor is full, rejected exchange will run in the current thread, exchangeId: {}", exchange.getExchangeId());
                 exchange.setProperty(PROPERTY_EXCHANGE_STATE, State.ASYNC_REJECTED);
                 return process(exchange, callback);
             }
@@ -278,11 +282,11 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
                     prev.cancel(false);
                 }
                 // try and incur the least amount of overhead while releasing permits back to the queue
-                if (log.isTraceEnabled()) {
-                    log.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("Permit released, for exchangeId: {}", exchange.getExchangeId());
                 }
             } catch (RejectedExecutionException e) {
-                log.debug("Throttling queue cleaning rejected", e);
+                LOG.debug("Throttling queue cleaning rejected", e);
             }
         }
 
@@ -310,9 +314,9 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
                         while (delta > 0) {
                             delayQueue.take();
                             delta--;
-                            log.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}", exchange.getExchangeId());
+                            LOG.trace("Permit discarded due to throttling rate decrease, triggered by ExchangeId: {}", exchange.getExchangeId());
                         }
-                        log.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate, newThrottle, exchange.getExchangeId());
+                        LOG.debug("Throttle rate decreased from {} to {}, triggered by ExchangeId: {}", throttleRate, newThrottle, exchange.getExchangeId());
 
                         // increase
                     } else if (newThrottle > throttleRate) {
@@ -321,9 +325,9 @@ public class Throttler extends AsyncProcessorSupport implements Traceable, IdAwa
                             delayQueue.put(new ThrottlePermit(-1));
                         }
                         if (throttleRate == 0) {
-                            log.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle, exchange.getExchangeId());
+                            LOG.debug("Initial throttle rate set to {}, triggered by ExchangeId: {}", newThrottle, exchange.getExchangeId());
                         } else {
-                            log.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate, newThrottle, exchange.getExchangeId());
+                            LOG.debug("Throttle rate increase from {} to {}, triggered by ExchangeId: {}", throttleRate, newThrottle, exchange.getExchangeId());
                         }
                     }
                     throttleRate = newThrottle;
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/TryProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/TryProcessor.java
index 7f3f8fd..b29a275 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/TryProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/TryProcessor.java
@@ -32,12 +32,16 @@ import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Implements try/catch/finally type processing
  */
 public class TryProcessor extends AsyncProcessorSupport implements Navigate<Processor>, Traceable, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(TryProcessor.class);
+
     protected String id;
     protected String routeId;
     protected final Processor tryProcessor;
@@ -90,13 +94,13 @@ public class TryProcessor extends AsyncProcessorSupport implements Navigate<Proc
                 // process the next processor
                 Processor processor = processors.next();
                 AsyncProcessor async = AsyncProcessorConverterHelper.convert(processor);
-                log.trace("Processing exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+                LOG.trace("Processing exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
                 async.process(exchange, doneSync -> exchange.getContext().getReactiveExecutor().schedule(this));
             } else {
                 ExchangeHelper.prepareOutToIn(exchange);
                 exchange.removeProperty(Exchange.TRY_ROUTE_BLOCK);
                 exchange.setProperty(Exchange.EXCEPTION_HANDLED, lastHandled);
-                log.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+                LOG.trace("Processing complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
                 callback.done(false);
             }
         }
@@ -112,7 +116,7 @@ public class TryProcessor extends AsyncProcessorSupport implements Navigate<Proc
         if (stop != null) {
             boolean doStop = exchange.getContext().getTypeConverter().convertTo(Boolean.class, stop);
             if (doStop) {
-                log.debug("Exchange is marked to stop routing: {}", exchange);
+                LOG.debug("Exchange is marked to stop routing: {}", exchange);
                 return false;
             }
         }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java
index 5f79bbd..4e9a47b 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/WireTapProcessor.java
@@ -44,12 +44,16 @@ import org.apache.camel.support.DefaultExchange;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Processor for wire tapping exchanges to an endpoint destination.
  */
 public class WireTapProcessor extends AsyncProcessorSupport implements Traceable, ShutdownAware, IdAware, RouteIdAware, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(WireTapProcessor.class);
+
     private String id;
     private String routeId;
     private CamelContext camelContext;
@@ -162,10 +166,10 @@ public class WireTapProcessor extends AsyncProcessorSupport implements Traceable
         // send the exchange to the destination using an executor service
         executorService.submit(() -> {
             taskCount.increment();
-            log.debug(">>>> (wiretap) {} {}", uri, wireTapExchange);
+            LOG.debug(">>>> (wiretap) {} {}", uri, wireTapExchange);
             AsyncProcessorConverterHelper.convert(processor).process(wireTapExchange, doneSync -> {
                 if (wireTapExchange.getException() != null) {
-                    log.warn("Error occurred during processing " + wireTapExchange + " wiretap to " + uri + ". This exception will be ignored.", wireTapExchange.getException());
+                    LOG.warn("Error occurred during processing " + wireTapExchange + " wiretap to " + uri + ". This exception will be ignored.", wireTapExchange.getException());
                 }
                 taskCount.decrement();
             });
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
index 0176e97..e898e32 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
@@ -70,6 +70,8 @@ import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StopWatch;
 import org.apache.camel.util.TimeUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * An implementation of the <a
@@ -88,6 +90,8 @@ import org.apache.camel.util.TimeUtils;
  */
 public class AggregateProcessor extends AsyncProcessorSupport implements Navigate<Processor>, Traceable, ShutdownPrepared, ShutdownAware, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(AggregateProcessor.class);
+
     public static final String AGGREGATE_TIMEOUT_CHECKER = "AggregateTimeoutChecker";
     public static final String AGGREGATE_OPTIMISTIC_LOCKING_EXECUTOR = "AggregateOptimisticLockingExecutor";
 
@@ -335,7 +339,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         if (ObjectHelper.isEmpty(key)) {
             // we have a bad correlation key
             if (isIgnoreInvalidCorrelationKeys()) {
-                log.debug("Invalid correlation key. This Exchange will be ignored: {}", exchange);
+                LOG.debug("Invalid correlation key. This Exchange will be ignored: {}", exchange);
             } else {
                 exchange.setException(new CamelExchangeException("Invalid correlation key", exchange));
             }
@@ -364,7 +368,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 doProcess(exchange, key, callback);
                 return;
             } catch (OptimisticLockingAggregationRepository.OptimisticLockingException e) {
-                log.trace("On attempt {} OptimisticLockingAggregationRepository: {} threw OptimisticLockingException while trying to aggregate exchange: {}",
+                LOG.trace("On attempt {} OptimisticLockingAggregationRepository: {} threw OptimisticLockingException while trying to aggregate exchange: {}",
                         attempt, aggregationRepository, exchange, e);
                 if (optimisticLockRetryPolicy.shouldRetry(attempt)) {
                     long delay = optimisticLockRetryPolicy.getDelay(attempt);
@@ -443,7 +447,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
      * @throws org.apache.camel.CamelExchangeException is thrown if error aggregating
      */
     private List<Exchange> doAggregation(String key, Exchange newExchange) throws CamelExchangeException {
-        log.trace("onAggregation +++ start +++ with correlation key: {}", key);
+        LOG.trace("onAggregation +++ start +++ with correlation key: {}", key);
 
         List<Exchange> list = new ArrayList<>();
         String complete = null;
@@ -516,7 +520,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             aggregateFailed = true;
             if (isDiscardOnAggregationFailure()) {
                 // discard due failure in aggregation strategy
-                log.debug("Aggregation for correlation key {} discarding aggregated exchange: {} due to failure in AggregationStrategy caused by: {}", key, oldExchange, e.getMessage());
+                LOG.debug("Aggregation for correlation key {} discarding aggregated exchange: {} due to failure in AggregationStrategy caused by: {}", key, oldExchange, e.getMessage());
                 complete = COMPLETED_BY_STRATEGY;
                 answer = oldExchange;
                 if (answer == null) {
@@ -544,7 +548,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         if (aggregationRepository instanceof RecoverableAggregationRepository) {
             boolean valid = oldExchange == null || answer.getExchangeId().equals(oldExchange.getExchangeId());
             if (!valid && aggregateRepositoryWarned.compareAndSet(false, true)) {
-                log.warn("AggregationStrategy should return the oldExchange instance instead of the newExchange whenever possible"
+                LOG.warn("AggregationStrategy should return the oldExchange instance instead of the newExchange whenever possible"
                     + " as otherwise this can lead to unexpected behavior with some RecoverableAggregationRepository implementations");
             }
         }
@@ -569,7 +573,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             doAggregationComplete(complete, list, key, originalExchange, answer, aggregateFailed);
         }
 
-        log.trace("onAggregation +++  end  +++ with correlation key: {}", key);
+        LOG.trace("onAggregation +++  end  +++ with correlation key: {}", key);
         return list;
     }
 
@@ -606,7 +610,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
     }
 
     protected void doAggregationRepositoryAdd(CamelContext camelContext, String key, Exchange oldExchange, Exchange newExchange) {
-        log.trace("In progress aggregated oldExchange: {}, newExchange: {} with correlation key: {}", oldExchange, newExchange, key);
+        LOG.trace("In progress aggregated oldExchange: {}, newExchange: {} with correlation key: {}", oldExchange, newExchange, key);
         if (optimisticLocking) {
             try {
                 ((OptimisticLockingAggregationRepository)aggregationRepository).add(camelContext, key, oldExchange, newExchange);
@@ -696,8 +700,8 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         if (getCompletionTimeoutExpression() != null) {
             Long value = getCompletionTimeoutExpression().evaluate(exchange, Long.class);
             if (value != null && value > 0) {
-                if (log.isTraceEnabled()) {
-                    log.trace("Updating correlation key {} to timeout after {} ms. as exchange received: {}",
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("Updating correlation key {} to timeout after {} ms. as exchange received: {}",
                             key, value, exchange);
                 }
                 addExchangeToTimeoutMap(key, exchange, value);
@@ -706,8 +710,8 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         }
         if (!timeoutSet && getCompletionTimeout() > 0) {
             // timeout is used so use the timeout map to keep an eye on this
-            if (log.isTraceEnabled()) {
-                log.trace("Updating correlation key {} to timeout after {} ms. as exchange received: {}",
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Updating correlation key {} to timeout after {} ms. as exchange received: {}",
                         key, getCompletionTimeout(), exchange);
             }
             addExchangeToTimeoutMap(key, exchange, getCompletionTimeout());
@@ -734,7 +738,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
         if (!fromTimeout && timeoutMap != null) {
             // cleanup timeout map if it was a incoming exchange which triggered the timeout (and not the timeout checker)
-            log.trace("Removing correlation key {} from timeout", key);
+            LOG.trace("Removing correlation key {} from timeout", key);
             timeoutMap.remove(key);
         }
 
@@ -754,7 +758,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             // this exchange is discarded
             discarded.incrementAndGet();
             // discard due timeout
-            log.debug("Aggregation for correlation key {} discarding aggregated exchange: {}", key, aggregated);
+            LOG.debug("Aggregation for correlation key {} discarding aggregated exchange: {}", key, aggregated);
             // must confirm the discarded exchange
             aggregationRepository.confirm(aggregated.getContext(), aggregated.getExchangeId());
             // and remove redelivery state as well
@@ -765,7 +769,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             // this exchange is discarded
             discarded.incrementAndGet();
             // discard due aggregation failed (or by force)
-            log.debug("Aggregation for correlation key {} discarding aggregated exchange: {}", key, aggregated);
+            LOG.debug("Aggregation for correlation key {} discarding aggregated exchange: {}", key, aggregated);
             // must confirm the discarded exchange
             aggregationRepository.confirm(aggregated.getContext(), aggregated.getExchangeId());
             // and remove redelivery state as well
@@ -781,7 +785,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
     }
 
     private void onSubmitCompletion(final String key, final Exchange exchange) {
-        log.debug("Aggregation complete for correlation key {} sending aggregated exchange: {}", key, exchange);
+        LOG.debug("Aggregation complete for correlation key {} sending aggregated exchange: {}", key, exchange);
 
         // add this as in progress before we submit the task
         inProgressCompleteExchanges.add(exchange.getExchangeId());
@@ -816,12 +820,12 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 completedByStrategy.incrementAndGet();
                 break;
             default:
-                log.error("Invalid value of {} property: {}", Exchange.AGGREGATED_COMPLETED_BY, exchange);
+                LOG.error("Invalid value of {} property: {}", Exchange.AGGREGATED_COMPLETED_BY, exchange);
                 break;
             }
         }
 
-        log.debug("Processing aggregated exchange: {}", exchange);
+        LOG.debug("Processing aggregated exchange: {}", exchange);
 
         // add on completion task so we remember to update the inProgressCompleteExchanges
         exchange.adapt(ExtendedExchange.class).addOnCompletion(new AggregateOnCompletion(exchange.getExchangeId()));
@@ -834,7 +838,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 // if there was an exception then let the exception handler handle it
                 getExceptionHandler().handleException("Error processing aggregated exchange", exchange, exchange.getException());
             } else {
-                log.trace("Processing aggregated exchange: {} complete.", exchange);
+                LOG.trace("Processing aggregated exchange: {} complete.", exchange);
             }
         })));
     }
@@ -853,20 +857,20 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         }
 
         StopWatch watch = new StopWatch();
-        log.trace("Starting restoring CompletionTimeout for {} existing exchanges from the aggregation repository...", keys.size());
+        LOG.trace("Starting restoring CompletionTimeout for {} existing exchanges from the aggregation repository...", keys.size());
 
         for (String key : keys) {
             Exchange exchange = aggregationRepository.get(camelContext, key);
             // grab the timeout value
             long timeout = exchange.hasProperties() ? exchange.getProperty(Exchange.AGGREGATED_TIMEOUT, 0, long.class) : 0;
             if (timeout > 0) {
-                log.trace("Restoring CompletionTimeout for exchangeId: {} with timeout: {} millis.", exchange.getExchangeId(), timeout);
+                LOG.trace("Restoring CompletionTimeout for exchangeId: {} with timeout: {} millis.", exchange.getExchangeId(), timeout);
                 addExchangeToTimeoutMap(key, exchange, timeout);
             }
         }
 
         // log duration of this task so end user can see how long it takes to pre-check this upon starting
-        log.info("Restored {} CompletionTimeout conditions in the AggregationTimeoutChecker in {}",
+        LOG.info("Restored {} CompletionTimeout conditions in the AggregationTimeoutChecker in {}",
                 timeoutMap.size(), TimeUtils.printDuration(watch.taken()));
     }
 
@@ -1144,7 +1148,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
         @Override
         public void onFailure(Exchange exchange) {
-            log.trace("Aggregated exchange onFailure: {}", exchange);
+            LOG.trace("Aggregated exchange onFailure: {}", exchange);
 
             // must remember to remove in progress when we failed
             inProgressCompleteExchanges.remove(exchangeId);
@@ -1153,7 +1157,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
         @Override
         public void onComplete(Exchange exchange) {
-            log.trace("Aggregated exchange onComplete: {}", exchange);
+            LOG.trace("Aggregated exchange onComplete: {}", exchange);
 
             // only confirm if we processed without a problem
             try {
@@ -1243,11 +1247,11 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         public void run() {
             // only run if CamelContext has been fully started
             if (!camelContext.getStatus().isStarted()) {
-                log.trace("Completion interval task cannot start due CamelContext({}) has not been started yet", camelContext.getName());
+                LOG.trace("Completion interval task cannot start due CamelContext({}) has not been started yet", camelContext.getName());
                 return;
             }
 
-            log.trace("Starting completion interval task");
+            LOG.trace("Starting completion interval task");
 
             // trigger completion for all in the repository
             Set<String> keys = aggregationRepository.getKeys();
@@ -1262,7 +1266,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                         if (exchange == null) {
                             stolenInterval = true;
                         } else {
-                            log.trace("Completion interval triggered for correlation key: {}", key);
+                            LOG.trace("Completion interval triggered for correlation key: {}", key);
                             // indicate it was completed by interval
                             exchange.setProperty(Exchange.AGGREGATED_COMPLETED_BY, COMPLETED_BY_INTERVAL);
                             try {
@@ -1275,7 +1279,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                             }
                         }
                         if (optimisticLocking && stolenInterval) {
-                            log.debug("Another Camel instance has already processed this interval aggregation for exchange with correlation id: {}", key);
+                            LOG.debug("Another Camel instance has already processed this interval aggregation for exchange with correlation id: {}", key);
                         }
                     }
                 } finally {
@@ -1283,7 +1287,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 }
             }
 
-            log.trace("Completion interval task complete");
+            LOG.trace("Completion interval task complete");
         }
     }
 
@@ -1301,11 +1305,11 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         public void run() {
             // only run if CamelContext has been fully started
             if (!camelContext.getStatus().isStarted()) {
-                log.trace("Recover check cannot start due CamelContext({}) has not been started yet", camelContext.getName());
+                LOG.trace("Recover check cannot start due CamelContext({}) has not been started yet", camelContext.getName());
                 return;
             }
 
-            log.trace("Starting recover check");
+            LOG.trace("Starting recover check");
 
             // copy the current in progress before doing scan
             final Set<String> copyOfInProgress = new LinkedHashSet<>(inProgressCompleteExchanges);
@@ -1315,7 +1319,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
                 // we may shutdown while doing recovery
                 if (!isRunAllowed()) {
-                    log.info("We are shutting down so stop recovering");
+                    LOG.info("We are shutting down so stop recovering");
                     return;
                 }
                 lock.lock();
@@ -1324,9 +1328,9 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                     // its safer to consider it in progress than risk duplicates due both in progress + recovered
                     boolean inProgress = copyOfInProgress.contains(exchangeId) || inProgressCompleteExchanges.contains(exchangeId);
                     if (inProgress) {
-                        log.trace("Aggregated exchange with id: {} is already in progress.", exchangeId);
+                        LOG.trace("Aggregated exchange with id: {} is already in progress.", exchangeId);
                     } else {
-                        log.debug("Loading aggregated exchange with id: {} to be recovered.", exchangeId);
+                        LOG.debug("Loading aggregated exchange with id: {} to be recovered.", exchangeId);
                         Exchange exchange = recoverable.recover(camelContext, exchangeId);
                         if (exchange != null) {
                             // get the correlation key
@@ -1339,7 +1343,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
                             // if we are exhausted, then move to dead letter channel
                             if (data != null && recoverable.getMaximumRedeliveries() > 0 && data.redeliveryCounter >= recoverable.getMaximumRedeliveries()) {
-                                log.warn("The recovered exchange is exhausted after " + recoverable.getMaximumRedeliveries()
+                                LOG.warn("The recovered exchange is exhausted after " + recoverable.getMaximumRedeliveries()
                                         + " attempts, will now be moved to dead letter channel: " + recoverable.getDeadLetterUri());
 
                                 // send to DLC
@@ -1374,7 +1378,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                                     exchange.getIn().setHeader(Exchange.REDELIVERY_MAX_COUNTER, recoverable.getMaximumRedeliveries());
                                 }
 
-                                log.debug("Delivery attempt: {} to recover aggregated exchange with id: {}", data.redeliveryCounter, exchangeId);
+                                LOG.debug("Delivery attempt: {} to recover aggregated exchange with id: {}", data.redeliveryCounter, exchangeId);
 
                                 // not exhaust so resubmit the recovered exchange
                                 onSubmitCompletion(key, exchange);
@@ -1386,7 +1390,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 }
             }
 
-            log.trace("Recover check complete");
+            LOG.trace("Recover check complete");
         }
     }
 
@@ -1398,7 +1402,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         }
         if (aggregationStrategy.canPreComplete()) {
             preCompletion = true;
-            log.info("PreCompletionAwareAggregationStrategy detected. Aggregator {} is in pre-completion mode.", getId());
+            LOG.info("PreCompletionAwareAggregationStrategy detected. Aggregator {} is in pre-completion mode.", getId());
         }
 
         if (!preCompletion) {
@@ -1413,24 +1417,24 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
         if (getCloseCorrelationKeyOnCompletion() != null) {
             if (getCloseCorrelationKeyOnCompletion() > 0) {
-                log.info("Using ClosedCorrelationKeys with a LRUCache with a capacity of {}", getCloseCorrelationKeyOnCompletion());
+                LOG.info("Using ClosedCorrelationKeys with a LRUCache with a capacity of {}", getCloseCorrelationKeyOnCompletion());
                 closedCorrelationKeys = LRUCacheFactory.newLRUCache(getCloseCorrelationKeyOnCompletion());
             } else {
-                log.info("Using ClosedCorrelationKeys with unbounded capacity");
+                LOG.info("Using ClosedCorrelationKeys with unbounded capacity");
                 closedCorrelationKeys = new ConcurrentHashMap<>();
             }
         }
 
         if (aggregationRepository == null) {
             aggregationRepository = new MemoryAggregationRepository(optimisticLocking);
-            log.info("Defaulting to MemoryAggregationRepository");
+            LOG.info("Defaulting to MemoryAggregationRepository");
         }
 
         if (optimisticLocking) {
             if (!(aggregationRepository instanceof OptimisticLockingAggregationRepository)) {
                 throw new IllegalArgumentException("Optimistic locking cannot be enabled without using an AggregationRepository that implements OptimisticLockingAggregationRepository");
             }
-            log.info("Optimistic locking is enabled");
+            LOG.info("Optimistic locking is enabled");
         }
 
         ServiceHelper.startService(aggregationStrategy, processor, aggregationRepository);
@@ -1447,7 +1451,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 // create a background recover thread to check every interval
                 recoverService = camelContext.getExecutorServiceManager().newScheduledThreadPool(this, "AggregateRecoverChecker", 1);
                 Runnable recoverTask = new RecoverTask(recoverable);
-                log.info("Using RecoverableAggregationRepository by scheduling recover checker to run every {} millis.", interval);
+                LOG.info("Using RecoverableAggregationRepository by scheduling recover checker to run every {} millis.", interval);
                 // use fixed delay so there is X interval between each run
                 recoverService.scheduleWithFixedDelay(recoverTask, 1000L, interval, TimeUnit.MILLISECONDS);
 
@@ -1456,7 +1460,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                     if (max <= 0) {
                         throw new IllegalArgumentException("Option maximumRedeliveries must be a positive number, was: " + max);
                     }
-                    log.info("After {} failed redelivery attempts Exchanges will be moved to deadLetterUri: {}", max, recoverable.getDeadLetterUri());
+                    LOG.info("After {} failed redelivery attempts Exchanges will be moved to deadLetterUri: {}", max, recoverable.getDeadLetterUri());
 
                     // dead letter uri must be a valid endpoint
                     Endpoint endpoint = camelContext.getEndpoint(recoverable.getDeadLetterUri());
@@ -1472,7 +1476,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             throw new IllegalArgumentException("Only one of completionInterval or completionTimeout can be used, not both.");
         }
         if (getCompletionInterval() > 0) {
-            log.info("Using CompletionInterval to run every {} millis.", getCompletionInterval());
+            LOG.info("Using CompletionInterval to run every {} millis.", getCompletionInterval());
             if (getTimeoutCheckerExecutorService() == null) {
                 setTimeoutCheckerExecutorService(camelContext.getExecutorServiceManager().newSingleThreadScheduledExecutor(this, AGGREGATE_TIMEOUT_CHECKER));
                 shutdownTimeoutCheckerExecutorService = true;
@@ -1483,7 +1487,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
         // start timeout service if its in use
         if (getCompletionTimeout() > 0 || getCompletionTimeoutExpression() != null) {
-            log.info("Using CompletionTimeout to trigger after {} millis of inactivity.", getCompletionTimeout());
+            LOG.info("Using CompletionTimeout to trigger after {} millis of inactivity.", getCompletionTimeout());
             if (getTimeoutCheckerExecutorService() == null) {
                 setTimeoutCheckerExecutorService(camelContext.getExecutorServiceManager().newSingleThreadScheduledExecutor(this, AGGREGATE_TIMEOUT_CHECKER));
                 shutdownTimeoutCheckerExecutorService = true;
@@ -1576,18 +1580,18 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
 
         StopWatch watch = new StopWatch();
         while (inProgressCompleteExchanges.size() > 0) {
-            log.trace("Waiting for {} inflight exchanges to complete", getInProgressCompleteExchanges());
+            LOG.trace("Waiting for {} inflight exchanges to complete", getInProgressCompleteExchanges());
             try {
                 Thread.sleep(100);
             } catch (InterruptedException e) {
                 // break out as we got interrupted such as the JVM terminating
-                log.warn("Interrupted while waiting for {} inflight exchanges to complete.", getInProgressCompleteExchanges());
+                LOG.warn("Interrupted while waiting for {} inflight exchanges to complete.", getInProgressCompleteExchanges());
                 break;
             }
         }
 
         if (expected > 0) {
-            log.info("Forcing completion of all groups with {} exchanges completed in {}", expected, TimeUtils.printDuration(watch.taken()));
+            LOG.info("Forcing completion of all groups with {} exchanges completed in {}", expected, TimeUtils.printDuration(watch.taken()));
         }
     }
 
@@ -1623,7 +1627,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             Exchange exchange = aggregationRepository.get(camelContext, key);
             if (exchange != null) {
                 total = 1;
-                log.trace("Force completion triggered for correlation key: {}", key);
+                LOG.trace("Force completion triggered for correlation key: {}", key);
                 // indicate it was completed by a force completion request
                 exchange.setProperty(Exchange.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                 Exchange answer = onCompletion(key, exchange, exchange, false, false);
@@ -1634,10 +1638,10 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         } finally {
             lock.unlock();
         }
-        log.trace("Completed force completion of group {}", key);
+        LOG.trace("Completed force completion of group {}", key);
 
         if (total > 0) {
-            log.debug("Forcing completion of group {} with {} exchanges", key, total);
+            LOG.debug("Forcing completion of group {} with {} exchanges", key, total);
         }
         return total;
     }
@@ -1647,11 +1651,11 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         // only run if CamelContext has been fully started or is stopping
         boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
         if (!allow) {
-            log.warn("Cannot start force completion of all groups because CamelContext({}) has not been started", camelContext.getName());
+            LOG.warn("Cannot start force completion of all groups because CamelContext({}) has not been started", camelContext.getName());
             return 0;
         }
 
-        log.trace("Starting force completion of all groups task");
+        LOG.trace("Starting force completion of all groups task");
 
         // trigger completion for all in the repository
         Set<String> keys = aggregationRepository.getKeys();
@@ -1665,7 +1669,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 for (String key : keys) {
                     Exchange exchange = aggregationRepository.get(camelContext, key);
                     if (exchange != null) {
-                        log.trace("Force completion triggered for correlation key: {}", key);
+                        LOG.trace("Force completion triggered for correlation key: {}", key);
                         // indicate it was completed by a force completion request
                         exchange.setProperty(Exchange.AGGREGATED_COMPLETED_BY, COMPLETED_BY_FORCE);
                         Exchange answer = onCompletion(key, exchange, exchange, false, false);
@@ -1678,10 +1682,10 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 lock.unlock();
             }
         }
-        log.trace("Completed force completion of all groups task");
+        LOG.trace("Completed force completion of all groups task");
 
         if (total > 0) {
-            log.debug("Forcing completion of all groups with {} exchanges", total);
+            LOG.debug("Forcing completion of all groups with {} exchanges", total);
         }
         return total;
     }
@@ -1695,17 +1699,17 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
             Exchange exchange = aggregationRepository.get(camelContext, key);
             if (exchange != null) {
                 total = 1;
-                log.trace("Force discarded triggered for correlation key: {}", key);
+                LOG.trace("Force discarded triggered for correlation key: {}", key);
                 // force discarding by setting aggregate failed as true
                 onCompletion(key, exchange, exchange, false, true);
             }
         } finally {
             lock.unlock();
         }
-        log.trace("Completed force discarded of group {}", key);
+        LOG.trace("Completed force discarded of group {}", key);
 
         if (total > 0) {
-            log.debug("Forcing discarding of group {} with {} exchanges", key, total);
+            LOG.debug("Forcing discarding of group {} with {} exchanges", key, total);
         }
         return total;
     }
@@ -1715,11 +1719,11 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
         // only run if CamelContext has been fully started or is stopping
         boolean allow = camelContext.getStatus().isStarted() || camelContext.getStatus().isStopping();
         if (!allow) {
-            log.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started", camelContext.getName());
+            LOG.warn("Cannot start force discarding of all groups because CamelContext({}) has not been started", camelContext.getName());
             return 0;
         }
 
-        log.trace("Starting force discarding of all groups task");
+        LOG.trace("Starting force discarding of all groups task");
 
         // trigger completion for all in the repository
         Set<String> keys = aggregationRepository.getKeys();
@@ -1733,7 +1737,7 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 for (String key : keys) {
                     Exchange exchange = aggregationRepository.get(camelContext, key);
                     if (exchange != null) {
-                        log.trace("Force discarded triggered for correlation key: {}", key);
+                        LOG.trace("Force discarded triggered for correlation key: {}", key);
                         // force discarding by setting aggregate failed as true
                         onCompletion(key, exchange, exchange, false, true);
                     }
@@ -1742,10 +1746,10 @@ public class AggregateProcessor extends AsyncProcessorSupport implements Navigat
                 lock.unlock();
             }
         }
-        log.trace("Completed force discarding of all groups task");
+        LOG.trace("Completed force discarding of all groups task");
 
         if (total > 0) {
-            log.debug("Forcing discarding of all groups with {} exchanges", total);
+            LOG.debug("Forcing discarding of all groups with {} exchanges", total);
         }
         return total;
     }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java b/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
index fd4b04a..028fb25 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
@@ -42,6 +42,8 @@ import org.apache.camel.spi.RouteContext;
 import org.apache.camel.spi.Tracer;
 import org.apache.camel.support.OrderedComparator;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * DefaultChannel is the default {@link Channel}.
@@ -55,6 +57,8 @@ import org.apache.camel.support.service.ServiceHelper;
  */
 public class DefaultChannel extends CamelInternalProcessor implements Channel {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultChannel.class);
+
     private Processor errorHandler;
     // the next processor (non wrapped)
     private Processor nextProcessor;
@@ -183,7 +187,7 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
         // the definition to wrap should be the fine grained,
         // so if a child is set then use it, if not then its the original output used
         NamedNode targetOutputDef = childDefinition != null ? childDefinition : definition;
-        log.debug("Initialize channel for target: '{}'", targetOutputDef);
+        LOG.trace("Initialize channel for target: {}", targetOutputDef);
 
         // setup instrumentation processor for management (jmx)
         // this is later used in postInitChannel as we need to setup the error handler later as well
@@ -237,7 +241,7 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
             // use the fine grained definition (eg the child if available). Its always possible to get back to the parent
             Processor wrapped = strategy.wrapProcessorInInterceptors(routeContext.getCamelContext(), targetOutputDef, target, next);
             if (!(wrapped instanceof AsyncProcessor)) {
-                log.warn("Interceptor: " + strategy + " at: " + definition + " does not return an AsyncProcessor instance."
+                LOG.warn("Interceptor: " + strategy + " at: " + definition + " does not return an AsyncProcessor instance."
                         + " This causes the asynchronous routing engine to not work as optimal as possible."
                         + " See more details at the InterceptStrategy javadoc."
                         + " Camel will use a bridge to adapt the interceptor to the asynchronous routing engine,"
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java b/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index 7f5abc6..637d2fc 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -53,6 +53,8 @@ import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StopWatch;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Base redeliverable error handler that also supports a final dead letter queue in case
@@ -63,6 +65,8 @@ import org.apache.camel.util.URISupport;
  */
 public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport implements AsyncProcessor, ShutdownPrepared, Navigate<Processor> {
 
+    private static final Logger LOG = LoggerFactory.getLogger(RedeliveryErrorHandler.class);
+
     protected final AtomicInteger redeliverySleepCounter = new AtomicInteger();
     protected ScheduledExecutorService executorService;
     protected final CamelContext camelContext;
@@ -209,7 +213,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
     @Override
     public void prepareShutdown(boolean suspendOnly, boolean forced) {
         // prepare for shutdown, eg do not allow redelivery if configured
-        log.trace("Prepare shutdown on error handler: {}", this);
+        LOG.trace("Prepare shutdown on error handler: {}", this);
         preparingShutdown = true;
     }
 
@@ -231,9 +235,9 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
         Long delay = message.getHeader(Exchange.REDELIVERY_DELAY, Long.class);
         if (delay == null) {
             delay = redeliveryPolicy.calculateRedeliveryDelay(redeliveryDelay, redeliveryCounter);
-            log.debug("Redelivery delay calculated as {}", delay);
+            LOG.debug("Redelivery delay calculated as {}", delay);
         } else {
-            log.debug("Redelivery delay is {} from Message Header [{}]", delay, Exchange.REDELIVERY_DELAY);
+            LOG.debug("Redelivery delay is {} from Message Header [{}]", delay, Exchange.REDELIVERY_DELAY);
         }
         return delay;
     }
@@ -277,7 +281,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 || ExchangeHelper.isRedeliveryExhausted(exchange);
         }
 
-        log.trace("Is exchangeId: {} done? {}", exchange.getExchangeId(), answer);
+        LOG.trace("Is exchangeId: {} done? {}", exchange.getExchangeId(), answer);
         return answer;
     }
 
@@ -294,7 +298,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             answer = true;
         }
 
-        log.trace("Is exchangeId: {} interrupted? {}", exchange.getExchangeId(), answer);
+        LOG.trace("Is exchangeId: {} interrupted? {}", exchange.getExchangeId(), answer);
         return answer;
     }
 
@@ -393,7 +397,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
         public void run() {
             // can we still run
             if (!isRunAllowed()) {
-                log.trace("Run not allowed, will reject executing exchange: {}", exchange);
+                LOG.trace("Run not allowed, will reject executing exchange: {}", exchange);
                 if (exchange.getException() == null) {
                     exchange.setException(new RejectedExecutionException());
                 }
@@ -433,8 +437,8 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                         ObjectHelper.notNull(executorService, "Redelivery is enabled but ExecutorService has not been configured.", this);
 
                         // schedule the redelivery task
-                        if (log.isTraceEnabled()) {
-                            log.trace("Scheduling redelivery task to run in {} millis for exchangeId: {}", redeliveryDelay, exchange.getExchangeId());
+                        if (LOG.isTraceEnabled()) {
+                            LOG.trace("Scheduling redelivery task to run in {} millis for exchangeId: {}", redeliveryDelay, exchange.getExchangeId());
                         }
                         executorService.schedule(() -> camelContext.getReactiveExecutor().schedule(this::redeliver), redeliveryDelay, TimeUnit.MILLISECONDS);
 
@@ -489,7 +493,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             // if camel context is forcing a shutdown then do not allow running
             boolean forceShutdown = camelContext.getShutdownStrategy().forceShutdown(RedeliveryErrorHandler.this);
             if (forceShutdown) {
-                log.trace("isRunAllowed() -> false (Run not allowed as ShutdownStrategy is forcing shutting down)");
+                LOG.trace("isRunAllowed() -> false (Run not allowed as ShutdownStrategy is forcing shutting down)");
                 return false;
             }
 
@@ -497,19 +501,19 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             // but this only applies during a redelivery (counter must > 0)
             if (redeliveryCounter > 0) {
                 if (currentRedeliveryPolicy.allowRedeliveryWhileStopping) {
-                    log.trace("isRunAllowed() -> true (Run allowed as RedeliverWhileStopping is enabled)");
+                    LOG.trace("isRunAllowed() -> true (Run allowed as RedeliverWhileStopping is enabled)");
                     return true;
                 } else if (preparingShutdown) {
                     // we are preparing for shutdown, now determine if we can still run
                     boolean answer = isRunAllowedOnPreparingShutdown();
-                    log.trace("isRunAllowed() -> {} (Run not allowed as we are preparing for shutdown)", answer);
+                    LOG.trace("isRunAllowed() -> {} (Run not allowed as we are preparing for shutdown)", answer);
                     return answer;
                 }
             }
 
             // we cannot run if we are stopping/stopped
             boolean answer = !isStoppingOrStopped();
-            log.trace("isRunAllowed() -> {} (Run allowed if we are not stopped/stopping)", answer);
+            LOG.trace("isRunAllowed() -> {} (Run allowed if we are not stopped/stopping)", answer);
             return answer;
         }
 
@@ -519,15 +523,15 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             if (redeliveryCounter > 0) {
                 boolean stopping = isStoppingOrStopped();
                 if (!preparingShutdown && !stopping) {
-                    log.trace("isRedeliveryAllowed() -> true (we are not stopping/stopped)");
+                    LOG.trace("isRedeliveryAllowed() -> true (we are not stopping/stopped)");
                     return true;
                 } else {
                     // we are stopping or preparing to shutdown
                     if (currentRedeliveryPolicy.allowRedeliveryWhileStopping) {
-                        log.trace("isRedeliveryAllowed() -> true (Redelivery allowed as RedeliverWhileStopping is enabled)");
+                        LOG.trace("isRedeliveryAllowed() -> true (Redelivery allowed as RedeliverWhileStopping is enabled)");
                         return true;
                     } else {
-                        log.trace("isRedeliveryAllowed() -> false (Redelivery not allowed as RedeliverWhileStopping is disabled)");
+                        LOG.trace("isRedeliveryAllowed() -> false (Redelivery not allowed as RedeliverWhileStopping is disabled)");
                         return false;
                     }
                 }
@@ -543,8 +547,8 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             // letting onRedeliver be executed at first
             deliverToOnRedeliveryProcessor();
 
-            if (log.isTraceEnabled()) {
-                log.trace("Redelivering exchangeId: {} -> {} for Exchange: {}", exchange.getExchangeId(), outputAsync, exchange);
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Redelivering exchangeId: {} -> {} for Exchange: {}", exchange.getExchangeId(), outputAsync, exchange);
             }
 
             // emmit event we are doing redelivery
@@ -552,7 +556,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
 
             // process the exchange (also redelivery)
             outputAsync.process(exchange, doneSync -> {
-                log.trace("Redelivering exchangeId: {}", exchange.getExchangeId());
+                LOG.trace("Redelivering exchangeId: {}", exchange.getExchangeId());
 
                 // only process if the exchange hasn't failed
                 // and it has not been handled by the error processor
@@ -674,7 +678,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 } else {
                     // note this should really not happen, but we have this code as a fail safe
                     // to be backwards compatible with the old behavior
-                    log.warn("Cannot determine current route from Exchange with id: {}, will fallback and use first error handler.", exchange.getExchangeId());
+                    LOG.warn("Cannot determine current route from Exchange with id: {}, will fallback and use first error handler.", exchange.getExchangeId());
                 }
                 if (processor != null) {
                     failureProcessor = processor;
@@ -713,15 +717,15 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
 
             // run this synchronously as its just a Processor
             try {
-                if (log.isTraceEnabled()) {
-                    log.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred", onExceptionProcessor, exchange);
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("OnExceptionOccurred processor {} is processing Exchange: {} due exception occurred", onExceptionProcessor, exchange);
                 }
                 onExceptionProcessor.process(exchange);
             } catch (Throwable e) {
                 // we dont not want new exception to override existing, so log it as a WARN
-                log.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
+                LOG.warn("Error during processing OnExceptionOccurred. This exception is ignored.", e);
             }
-            log.trace("OnExceptionOccurred processor done");
+            LOG.trace("OnExceptionOccurred processor done");
         }
 
         /**
@@ -733,8 +737,8 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 return;
             }
 
-            if (log.isTraceEnabled()) {
-                log.trace("Redelivery processor {} is processing Exchange: {} before its redelivered",
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Redelivery processor {} is processing Exchange: {} before its redelivered",
                         onRedeliveryProcessor, exchange);
             }
 
@@ -744,7 +748,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             } catch (Throwable e) {
                 exchange.setException(e);
             }
-            log.trace("Redelivery processor done");
+            LOG.trace("Redelivery processor done");
         }
 
         /**
@@ -795,14 +799,14 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 if (useOriginalInMessage || useOriginalInBody) {
                     Message original = ExchangeHelper.getOriginalInMessage(exchange);
                     if (useOriginalInMessage) {
-                        log.trace("Using the original IN message instead of current");
+                        LOG.trace("Using the original IN message instead of current");
                         exchange.setIn(original);
                     } else {
-                        log.trace("Using the original IN message body instead of current");
+                        LOG.trace("Using the original IN message body instead of current");
                         exchange.getIn().setBody(original.getBody());
                     }
                     if (exchange.hasOut()) {
-                        log.trace("Removing the out message to avoid some uncertain behavior");
+                        LOG.trace("Removing the out message to avoid some uncertain behavior");
                         exchange.setOut(null);
                     }
                 }
@@ -813,7 +817,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 // invoke custom on prepare
                 if (onPrepareProcessor != null) {
                     try {
-                        log.trace("OnPrepare processor {} is processing Exchange: {}", onPrepareProcessor, exchange);
+                        LOG.trace("OnPrepare processor {} is processing Exchange: {}", onPrepareProcessor, exchange);
                         onPrepareProcessor.process(exchange);
                     } catch (Exception e) {
                         // a new exception was thrown during prepare
@@ -821,7 +825,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                     }
                 }
 
-                log.trace("Failure processor {} is processing Exchange: {}", processor, exchange);
+                LOG.trace("Failure processor {} is processing Exchange: {}", processor, exchange);
 
                 // store the last to endpoint as the failure endpoint
                 exchange.setProperty(Exchange.FAILURE_ENDPOINT, exchange.getProperty(Exchange.TO_ENDPOINT));
@@ -840,7 +844,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 // the failure processor could also be asynchronous
                 AsyncProcessor afp = AsyncProcessorConverterHelper.convert(processor);
                 afp.process(exchange, sync -> {
-                    log.trace("Failure processor done: {} processing Exchange: {}", processor, exchange);
+                    LOG.trace("Failure processor done: {} processing Exchange: {}", processor, exchange);
                     try {
                         prepareExchangeAfterFailure(exchange, isDeadLetterChannel, shouldHandle, shouldContinue);
                         // fire event as we had a failure processor to handle it, which there is a event for
@@ -855,7 +859,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                     // invoke custom on prepare
                     if (onPrepareProcessor != null) {
                         try {
-                            log.trace("OnPrepare processor {} is processing Exchange: {}", onPrepareProcessor, exchange);
+                            LOG.trace("OnPrepare processor {} is processing Exchange: {}", onPrepareProcessor, exchange);
                             onPrepareProcessor.process(exchange);
                         } catch (Exception e) {
                             // a new exception was thrown during prepare
@@ -897,7 +901,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             boolean alreadySet = exchange.getProperty(Exchange.ERRORHANDLER_HANDLED) != null;
             if (alreadySet) {
                 boolean handled = exchange.getProperty(Exchange.ERRORHANDLER_HANDLED, Boolean.class);
-                log.trace("This exchange has already been marked for handling: {}", handled);
+                LOG.trace("This exchange has already been marked for handling: {}", handled);
                 if (!handled) {
                     // exception not handled, put exception back in the exchange
                     exchange.setException(exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class));
@@ -909,11 +913,11 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
 
             // dead letter channel is special
             if (shouldContinue) {
-                log.trace("This exchange is continued: {}", exchange);
+                LOG.trace("This exchange is continued: {}", exchange);
                 // okay we want to continue then prepare the exchange for that as well
                 prepareExchangeForContinue(exchange, isDeadLetterChannel);
             } else if (shouldHandle) {
-                log.trace("This exchange is handled so its marked as not failed: {}", exchange);
+                LOG.trace("This exchange is handled so its marked as not failed: {}", exchange);
                 exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, Boolean.TRUE);
             } else {
                 // okay the redelivery policy are not explicit set to true, so we should allow to check for some
@@ -939,7 +943,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                     }
 
                     if (handled) {
-                        log.trace("This exchange is handled so its marked as not failed: {}", exchange);
+                        LOG.trace("This exchange is handled so its marked as not failed: {}", exchange);
                         exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, Boolean.TRUE);
                         return;
                     }
@@ -951,7 +955,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
         }
 
         private void prepareExchangeAfterFailureNotHandled(Exchange exchange) {
-            log.trace("This exchange is not handled or continued so its marked as failed: {}", exchange);
+            LOG.trace("This exchange is not handled or continued so its marked as failed: {}", exchange);
             // exception not handled, put exception back in the exchange
             exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, Boolean.FALSE);
             exchange.setException(exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class));
@@ -1107,14 +1111,14 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
             // if marked as rollback only then do not continue/redeliver
             boolean exhausted = exchange.getProperty(Exchange.REDELIVERY_EXHAUSTED, false, Boolean.class);
             if (exhausted) {
-                log.trace("This exchange is marked as redelivery exhausted: {}", exchange);
+                LOG.trace("This exchange is marked as redelivery exhausted: {}", exchange);
                 return true;
             }
 
             // if marked as rollback only then do not continue/redeliver
             boolean rollbackOnly = exchange.getProperty(Exchange.ROLLBACK_ONLY, false, Boolean.class);
             if (rollbackOnly) {
-                log.trace("This exchange is marked as rollback only, so forcing it to be exhausted: {}", exchange);
+                LOG.trace("This exchange is marked as rollback only, so forcing it to be exhausted: {}", exchange);
                 return true;
             }
             // its the first original call so continue
@@ -1186,20 +1190,20 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
 
             StopWatch watch = new StopWatch();
 
-            log.debug("Sleeping for: {} millis until attempting redelivery", redeliveryDelay);
+            LOG.debug("Sleeping for: {} millis until attempting redelivery", redeliveryDelay);
             while (watch.taken() < redeliveryDelay) {
                 // sleep using 1 sec interval
 
                 long delta = redeliveryDelay - watch.taken();
                 long max = Math.min(1000, delta);
                 if (max > 0) {
-                    log.trace("Sleeping for: {} millis until waking up for re-check", max);
+                    LOG.trace("Sleeping for: {} millis until waking up for re-check", max);
                     Thread.sleep(max);
                 }
 
                 // are we preparing for shutdown then only do redelivery if allowed
                 if (preparingShutdown && !currentRedeliveryPolicy.isAllowRedeliveryWhileStopping()) {
-                    log.debug("Rejected redelivery while stopping");
+                    LOG.debug("Rejected redelivery while stopping");
                     return false;
                 }
             }
@@ -1274,8 +1278,8 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
 
         // determine if redeliver is enabled or not
         redeliveryEnabled = determineIfRedeliveryIsEnabled();
-        if (log.isTraceEnabled()) {
-            log.trace("Redelivery enabled: {} on error handler: {}", redeliveryEnabled, this);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("Redelivery enabled: {} on error handler: {}", redeliveryEnabled, this);
         }
 
         // we only need thread pool if redelivery is enabled
@@ -1284,8 +1288,8 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
                 // use default shared executor service
                 executorService = camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerExecutorService();
             }
-            if (log.isDebugEnabled()) {
-                log.debug("Using ExecutorService: {} for redeliveries on error handler: {}", executorService, this);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Using ExecutorService: {} for redeliveries on error handler: {}", executorService, this);
             }
         }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java b/core/camel-base/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
index b126382..ee07060 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/idempotent/IdempotentConsumer.java
@@ -35,7 +35,10 @@ import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.spi.Synchronization;
 import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.apache.camel.support.AsyncProcessorSupport;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * An implementation of the <a
@@ -47,6 +50,8 @@ import org.apache.camel.support.service.ServiceHelper;
  */
 public class IdempotentConsumer extends AsyncProcessorSupport implements CamelContextAware, Navigate<Processor>, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(IdempotentConsumer.class);
+
     private CamelContext camelContext;
     private String id;
     private String routeId;
@@ -140,7 +145,7 @@ public class IdempotentConsumer extends AsyncProcessorSupport implements CamelCo
 
                 if (skipDuplicate) {
                     // if we should skip duplicate then we are done
-                    log.debug("Ignoring duplicate message with id: {} for exchange: {}", messageId, exchange);
+                    LOG.debug("Ignoring duplicate message with id: {} for exchange: {}", messageId, exchange);
                     callback.done(true);
                     return true;
                 }
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java
index b8403d0..f29a838 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java
@@ -43,6 +43,8 @@ import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.MessageHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A {@link org.apache.camel.spi.Debugger} that has easy debugging functionality which
@@ -59,10 +61,12 @@ import org.apache.camel.support.service.ServiceSupport;
  */
 public final class BacklogDebugger extends ServiceSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(BacklogDebugger.class);
+
     private long fallbackTimeout = 300;
     private final CamelContext camelContext;
     private LoggingLevel loggingLevel = LoggingLevel.INFO;
-    private final CamelLogger logger = new CamelLogger(log, loggingLevel);
+    private final CamelLogger logger = new CamelLogger(LOG, loggingLevel);
     private final AtomicBoolean enabled = new AtomicBoolean();
     private final AtomicLong debugCounter = new AtomicLong(0);
     private final Debugger debugger;
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
index 1c109ad..4b48bd0 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
@@ -96,9 +96,6 @@ public final class BacklogTracer extends ServiceSupport {
             filter = shouldTraceFilter(exchange);
         }
 
-        if (log.isTraceEnabled()) {
-            log.trace("Should trace evaluated {} -> pattern: {}, filter: {}", definition.getId(), pattern, filter);
-        }
         return pattern && filter;
     }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/DefaultDebugger.java b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/DefaultDebugger.java
index b4c8b9c..319dc8e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/DefaultDebugger.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/DefaultDebugger.java
@@ -284,7 +284,7 @@ public class DefaultDebugger extends ServiceSupport implements Debugger, CamelCo
         try {
             breakpoint.beforeProcess(exchange, processor, definition);
         } catch (Throwable e) {
-            log.warn("Exception occurred in breakpoint: " + breakpoint + ". This exception will be ignored.", e);
+            // ignore
         }
     }
 
@@ -292,7 +292,7 @@ public class DefaultDebugger extends ServiceSupport implements Debugger, CamelCo
         try {
             breakpoint.afterProcess(exchange, processor, definition, timeTaken);
         } catch (Throwable e) {
-            log.warn("Exception occurred in breakpoint: " + breakpoint + ". This exception will be ignored.", e);
+            // ignore
         }
     }
 
@@ -306,7 +306,7 @@ public class DefaultDebugger extends ServiceSupport implements Debugger, CamelCo
         try {
             breakpoint.onEvent(exchange, event, definition);
         } catch (Throwable e) {
-            log.warn("Exception occurred in breakpoint: " + breakpoint + ". This exception will be ignored.", e);
+            // ignore
         }
     }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java b/core/camel-base/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
index c2ad725..3f1a15e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/loadbalancer/FailOverLoadBalancer.java
@@ -26,8 +26,11 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.Traceable;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This FailOverLoadBalancer will failover to use next processor when an exception occurred
@@ -38,6 +41,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceable, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FailOverLoadBalancer.class);
+
     private final List<Class<?>> exceptions;
     private CamelContext camelContext;
     private boolean roundRobin;
@@ -141,7 +146,7 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
             }
         }
 
-        log.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
+        LOG.trace("Should failover: {} for exchangeId: {}", answer, exchange.getExchangeId());
 
         return answer;
     }
@@ -151,7 +156,7 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
         // determine if we can still run, or the camel context is forcing a shutdown
         boolean forceShutdown = camelContext.getShutdownStrategy().forceShutdown(this);
         if (forceShutdown) {
-            log.trace("Run not allowed as ShutdownStrategy is forcing shutting down");
+            LOG.trace("Run not allowed as ShutdownStrategy is forcing shutting down");
         }
         return !forceShutdown && super.isRunAllowed();
     }
@@ -186,7 +191,7 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
             } else if (isRoundRobin()) {
                 index = counter.updateAndGet(x -> ++x < processors.length ? x : 0);
             }
-            log.trace("Failover starting with endpoint index {}", index);
+            LOG.trace("Failover starting with endpoint index {}", index);
         }
 
         public void run() {
@@ -195,14 +200,14 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
                 lastGoodIndex.set(index);
                 // and copy the current result to original so it will contain this result of this eip
                 ExchangeHelper.copyResults(exchange, copy);
-                log.debug("Failover complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
+                LOG.debug("Failover complete for exchangeId: {} >>> {}", exchange.getExchangeId(), exchange);
                 callback.done(false);
                 return;
             }
 
             // can we still run
             if (!isRunAllowed()) {
-                log.trace("Run not allowed, will reject executing exchange: {}", exchange);
+                LOG.trace("Run not allowed, will reject executing exchange: {}", exchange);
                 if (exchange.getException() == null) {
                     exchange.setException(new RejectedExecutionException());
                 }
@@ -215,7 +220,7 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
                 attempts++;
                 // are we exhausted by attempts?
                 if (maximumFailoverAttempts > -1 && attempts > maximumFailoverAttempts) {
-                    log.debug("Breaking out of failover after {} failover attempts", attempts);
+                    LOG.debug("Breaking out of failover after {} failover attempts", attempts);
                     ExchangeHelper.copyResults(exchange, copy);
                     callback.done(false);
                     return;
@@ -228,12 +233,12 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
             if (index >= processors.length) {
                 // out of bounds
                 if (isRoundRobin()) {
-                    log.trace("Failover is round robin enabled and therefore starting from the first endpoint");
+                    LOG.trace("Failover is round robin enabled and therefore starting from the first endpoint");
                     index = 0;
                     counter.set(0);
                 } else {
                     // no more processors to try
-                    log.trace("Breaking out of failover as we reached the end of endpoints to use for failover");
+                    LOG.trace("Breaking out of failover as we reached the end of endpoints to use for failover");
                     ExchangeHelper.copyResults(exchange, copy);
                     callback.done(false);
                     return;
@@ -245,7 +250,7 @@ public class FailOverLoadBalancer extends LoadBalancerSupport implements Traceab
             AsyncProcessor processor = processors[index];
 
             // process the exchange
-            log.debug("Processing failover at attempt {} for {}", attempts, copy);
+            LOG.debug("Processing failover at attempt {} for {}", attempts, copy);
             processor.process(copy, doneSync -> exchange.getContext().getReactiveExecutor().schedule(this::run));
         }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java b/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
index d0f8304..5ce6379 100644
--- a/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingExceptionRoutePolicy.java
@@ -30,6 +30,8 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Route;
 import org.apache.camel.spi.RoutePolicy;
 import org.apache.camel.support.RoutePolicySupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Modeled after the circuit breaker {@link ThrottlingInflightRoutePolicy}
@@ -49,6 +51,8 @@ import org.apache.camel.support.RoutePolicySupport;
  */
 public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implements CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ThrottlingExceptionRoutePolicy.class);
+
     private static final int STATE_CLOSED = 0;
     private static final int STATE_HALF_OPEN = 1;
     private static final int STATE_OPEN = 2;
@@ -99,7 +103,7 @@ public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implement
 
     @Override
     public void onInit(Route route) {
-        log.debug("Initializing ThrottlingExceptionRoutePolicy route policy...");
+        LOG.debug("Initializing ThrottlingExceptionRoutePolicy route policy");
         logState();
     }
 
@@ -115,7 +119,7 @@ public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implement
     public void onExchangeDone(Route route, Exchange exchange) {
         if (keepOpen.get()) {
             if (state.get() != STATE_OPEN) {
-                log.debug("opening circuit b/c keepOpen is on");
+                LOG.debug("opening circuit b/c keepOpen is on");
                 openCircuit(route);
             }
         } else {
@@ -158,9 +162,9 @@ public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implement
             }
         }
 
-        if (log.isDebugEnabled()) {
+        if (LOG.isDebugEnabled()) {
             String exceptionName = exchange.getException() == null ? "none" : exchange.getException().getClass().getSimpleName();
-            log.debug("hasFailed ({}) with Throttled Exception: {} for exchangeId: {}", answer, exceptionName, exchange.getExchangeId());
+            LOG.debug("hasFailed ({}) with Throttled Exception: {} for exchangeId: {}", answer, exceptionName, exchange.getExchangeId());
         }
         return answer;
     }
@@ -172,39 +176,39 @@ public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implement
 
         if (state.get() == STATE_CLOSED) {
             if (failureLimitReached) {
-                log.debug("Opening circuit...");
+                LOG.debug("Opening circuit...");
                 openCircuit(route);
             }
         } else if (state.get() == STATE_HALF_OPEN) {
             if (failureLimitReached) {
-                log.debug("Opening circuit...");
+                LOG.debug("Opening circuit...");
                 openCircuit(route);
             } else {
-                log.debug("Closing circuit...");
+                LOG.debug("Closing circuit...");
                 closeCircuit(route);
             }
         } else if (state.get() == STATE_OPEN) {
             if (!keepOpen.get()) {
                 long elapsedTimeSinceOpened = System.currentTimeMillis() - openedAt;
                 if (halfOpenAfter <= elapsedTimeSinceOpened) {
-                    log.debug("Checking an open circuit...");
+                    LOG.debug("Checking an open circuit...");
                     if (halfOpenHandler != null) {
                         if (halfOpenHandler.isReadyToBeClosed()) {
-                            log.debug("Closing circuit...");
+                            LOG.debug("Closing circuit...");
                             closeCircuit(route);
                         } else {
-                            log.debug("Opening circuit...");
+                            LOG.debug("Opening circuit...");
                             openCircuit(route);
                         }
                     } else {
-                        log.debug("Half opening circuit...");
+                        LOG.debug("Half opening circuit...");
                         halfOpenCircuit(route);
                     }
                 } else {
-                    log.debug("keeping circuit open (time not elapsed)...");
+                    LOG.debug("keeping circuit open (time not elapsed)...");
                 }
             } else {
-                log.debug("keeping circuit open (keepOpen is true)...");
+                LOG.debug("keeping circuit open (keepOpen is true)...");
                 this.addHalfOpenTimer(route);
             }
         }
@@ -273,8 +277,8 @@ public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implement
     }
 
     private void logState() {
-        if (log.isDebugEnabled()) {
-            log.debug(dumpState());
+        if (LOG.isDebugEnabled()) {
+            LOG.debug(dumpState());
         }
     }
 
@@ -325,7 +329,7 @@ public class ThrottlingExceptionRoutePolicy extends RoutePolicySupport implement
     }
 
     public void setKeepOpen(boolean keepOpen) {
-        log.debug("keep open: {}", keepOpen);
+        LOG.debug("keep open: {}", keepOpen);
         this.keepOpen.set(keepOpen);
     }
 
diff --git a/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingInflightRoutePolicy.java b/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingInflightRoutePolicy.java
index 7c8f5ac..ec249fe 100644
--- a/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingInflightRoutePolicy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/throttling/ThrottlingInflightRoutePolicy.java
@@ -34,6 +34,8 @@ import org.apache.camel.support.EventNotifierSupport;
 import org.apache.camel.support.RoutePolicySupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A throttle based {@link org.apache.camel.spi.RoutePolicy} which is capable of dynamic
@@ -48,6 +50,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class ThrottlingInflightRoutePolicy extends RoutePolicySupport implements CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ThrottlingInflightRoutePolicy.class);
+
     public enum ThrottlingScope {
         Context, Route
     }
@@ -108,8 +112,8 @@ public class ThrottlingInflightRoutePolicy extends RoutePolicySupport implements
 
         int size = getSize(route, exchange);
         boolean stop = maxInflightExchanges > 0 && size > maxInflightExchanges;
-        if (log.isTraceEnabled()) {
-            log.trace("{} > 0 && {} > {} evaluated as {}", maxInflightExchanges, size, maxInflightExchanges, stop);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("{} > 0 && {} > {} evaluated as {}", maxInflightExchanges, size, maxInflightExchanges, stop);
         }
         if (stop) {
             try {
@@ -126,8 +130,8 @@ public class ThrottlingInflightRoutePolicy extends RoutePolicySupport implements
         // so we need to ensure that we read the most current size and start the consumer if we are already to low
         size = getSize(route, exchange);
         boolean start = size <= resumeInflightExchanges;
-        if (log.isTraceEnabled()) {
-            log.trace("{} <= {} evaluated as {}", size, resumeInflightExchanges, start);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("{} <= {} evaluated as {}", size, resumeInflightExchanges, start);
         }
         if (start) {
             try {
@@ -225,7 +229,7 @@ public class ThrottlingInflightRoutePolicy extends RoutePolicySupport implements
     }
 
     protected CamelLogger createLogger() {
-        return new CamelLogger(log, getLoggingLevel());
+        return new CamelLogger(LOG, getLoggingLevel());
     }
 
     private int getSize(Route route, Exchange exchange) {
diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
index 6d438e3..46edcea 100644
--- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
+++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
@@ -37,9 +37,13 @@ import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DefaultServiceCallProcessor extends AsyncProcessorSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultServiceCallProcessor.class);
+
     private final ExchangePattern exchangePattern;
     private final String name;
     private final String scheme;
@@ -86,7 +90,6 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport {
     // Properties
     // *************************************
 
-
     public ExchangePattern getExchangePattern() {
         return exchangePattern;
     }
@@ -179,7 +182,7 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport {
         final int port = service.getPort();
         final Map<String, String> meta = service.getMetadata();
 
-        log.debug("Service {} active at server: {}:{}", name, host, port);
+        LOG.debug("Service {} active at server: {}:{}", name, host, port);
 
         // set selected server as header
         message.setHeader(ServiceCallConstants.SERVICE_HOST, host);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/AbstractModelCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/AbstractModelCamelContext.java
index b017356..190bd94 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/AbstractModelCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/AbstractModelCamelContext.java
@@ -45,24 +45,22 @@ import org.apache.camel.model.transformer.TransformerDefinition;
 import org.apache.camel.model.validator.ValidatorDefinition;
 import org.apache.camel.processor.MulticastProcessor;
 import org.apache.camel.reifier.dataformat.DataFormatReifier;
-import org.apache.camel.reifier.transformer.TransformerReifier;
-import org.apache.camel.reifier.validator.ValidatorReifier;
 import org.apache.camel.runtimecatalog.RuntimeCamelCatalog;
 import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Registry;
-import org.apache.camel.spi.Transformer;
 import org.apache.camel.spi.TransformerRegistry;
-import org.apache.camel.spi.Validator;
 import org.apache.camel.spi.ValidatorRegistry;
 import org.apache.camel.support.CamelContextHelper;
-import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Represents the context used to configure routes and the policies to use.
  */
 public abstract class AbstractModelCamelContext extends AbstractCamelContext implements ModelCamelContext, CatalogCamelContext {
 
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractModelCamelContext.class);
+
     private final Model model = new DefaultModel(this);
 
     /**
@@ -289,7 +287,7 @@ public abstract class AbstractModelCamelContext extends AbstractCamelContext imp
         for (Map.Entry<String, DataFormatDefinition> e : model.getDataFormats().entrySet()) {
             String id = e.getKey();
             DataFormatDefinition def = e.getValue();
-            log.debug("Creating Dataformat with id: {} and definition: {}", id, def);
+            LOG.debug("Creating Dataformat with id: {} and definition: {}", id, def);
             DataFormat df = DataFormatReifier.reifier(def).createDataFormat(this);
             addService(df, true);
             getRegistry().bind(id, df);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index a4c8817..4289d85 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -16,9 +16,8 @@
  */
 package org.apache.camel.impl;
 
-import java.util.Map;
-
 import javax.naming.Context;
+import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
@@ -97,12 +96,16 @@ import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.spi.UnitOfWorkFactory;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.support.DefaultRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Represents the context used to configure routes and the policies to use.
  */
 public class DefaultCamelContext extends AbstractModelCamelContext {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultCamelContext.class);
+
     /**
      * Creates the {@link CamelContext} using {@link DefaultRegistry} as
      * registry.
@@ -270,7 +273,7 @@ public class DefaultCamelContext extends AbstractModelCamelContext {
         PackageScanClassResolver packageScanClassResolver;
         // use WebSphere specific resolver if running on WebSphere
         if (WebSpherePackageScanClassResolver.isWebSphereClassLoader(this.getClass().getClassLoader())) {
-            log.info("Using WebSphere specific PackageScanClassResolver");
+            LOG.info("Using WebSphere specific PackageScanClassResolver");
             packageScanClassResolver = new WebSpherePackageScanClassResolver("META-INF/services/org/apache/camel/TypeConverter");
         } else {
             packageScanClassResolver = new DefaultPackageScanClassResolver();
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
index 9ab8419..e1b179a 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
@@ -38,16 +38,21 @@ import org.apache.camel.cluster.CamelClusterService;
 import org.apache.camel.cluster.CamelClusterView;
 import org.apache.camel.spi.CamelEvent;
 import org.apache.camel.spi.CamelEvent.CamelContextStartedEvent;
+import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.EventNotifierSupport;
 import org.apache.camel.support.RoutePolicySupport;
 import org.apache.camel.support.cluster.ClusterServiceHelper;
 import org.apache.camel.support.cluster.ClusterServiceSelectors;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ReferenceCount;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @ManagedResource(description = "Clustered Route policy using")
 public final class ClusteredRoutePolicy extends RoutePolicySupport implements CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ClusteredRoutePolicy.class);
+
     private final AtomicBoolean leader;
     private final Set<Route> startedRoutes;
     private final Set<Route> stoppedRoutes;
@@ -165,7 +170,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
     public void onInit(Route route) {
         super.onInit(route);
 
-        log.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
+        LOG.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
         route.getRouteContext().setAutoStartup(false);
 
         this.refCount.retain();
@@ -181,7 +186,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
                 .orElseThrow(() -> new IllegalStateException("CamelCluster service not found"));
         }
 
-        log.debug("ClusteredRoutePolicy {} is using ClusterService instance {} (id={}, type={})", this, clusterService, clusterService.getId(),
+        LOG.debug("ClusteredRoutePolicy {} is using ClusterService instance {} (id={}, type={})", this, clusterService, clusterService.getId(),
                   clusterService.getClass().getName());
 
         clusterView = clusterService.getView(namespace);
@@ -207,10 +212,10 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
 
     private synchronized void setLeader(boolean isLeader) {
         if (isLeader && leader.compareAndSet(false, isLeader)) {
-            log.debug("Leadership taken");
+            LOG.debug("Leadership taken");
             startManagedRoutes();
         } else if (!isLeader && leader.getAndSet(isLeader)) {
-            log.debug("Leadership lost");
+            LOG.debug("Leadership lost");
             stopManagedRoutes();
         }
     }
@@ -234,7 +239,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
             for (Route route : stoppedRoutes) {
                 ServiceStatus status = getStatus(route);
                 if (status != null && status.isStartable()) {
-                    log.debug("Starting route '{}'", route.getId());
+                    LOG.debug("Starting route '{}'", route.getId());
                     camelContext.getRouteController().startRoute(route.getId());
 
                     startedRoutes.add(route);
@@ -266,7 +271,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
             for (Route route : startedRoutes) {
                 ServiceStatus status = getStatus(route);
                 if (status != null && status.isStoppable()) {
-                    log.debug("Stopping route '{}'", route.getId());
+                    LOG.debug("Stopping route '{}'", route.getId());
                     stopRoute(route);
 
                     stoppedRoutes.add(route);
@@ -280,7 +285,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
     }
 
     private void onCamelContextStarted() {
-        log.debug("Apply cluster policy (stopped-routes='{}', started-routes='{}')", stoppedRoutes.stream().map(Route::getId).collect(Collectors.joining(",")),
+        LOG.debug("Apply cluster policy (stopped-routes='{}', started-routes='{}')", stoppedRoutes.stream().map(Route::getId).collect(Collectors.joining(",")),
                   startedRoutes.stream().map(Route::getId).collect(Collectors.joining(",")));
 
         clusterView.addEventListener(leadershipEventListener);
@@ -333,7 +338,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
 
                 // Eventually delay the startup of the routes a later time
                 if (initialDelay.toMillis() > 0) {
-                    log.debug("Policy will be effective in {}", initialDelay);
+                    LOG.debug("Policy will be effective in {}", initialDelay);
                     executorService.schedule(ClusteredRoutePolicy.this::onCamelContextStarted, initialDelay.toMillis(), TimeUnit.MILLISECONDS);
                 } else {
                     ClusteredRoutePolicy.this.onCamelContextStarted();
diff --git a/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextPublisher.java b/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextPublisher.java
index 093b864..cb9b996 100644
--- a/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextPublisher.java
+++ b/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextPublisher.java
@@ -33,6 +33,8 @@ import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.framework.Version;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This {@link org.apache.camel.spi.EventNotifier} is in charge of registering
@@ -40,6 +42,8 @@ import org.osgi.framework.Version;
  */
 public class OsgiCamelContextPublisher extends EventNotifierSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(OsgiCamelContextPublisher.class);
+
     public static final String CONTEXT_SYMBOLIC_NAME_PROPERTY = "camel.context.symbolicname";
     public static final String CONTEXT_VERSION_PROPERTY = "camel.context.version";
     public static final String CONTEXT_NAME_PROPERTY = "camel.context.name";
@@ -62,13 +66,13 @@ public class OsgiCamelContextPublisher extends EventNotifierSupport {
             CamelContext context = ((CamelContextEvent) event).getContext();
             ServiceRegistration<?> reg = registrations.remove(context);
             if (reg != null) {
-                if (log.isDebugEnabled()) {
-                    log.debug("Unregistering CamelContext [{}] from OSGi registry", context.getName());
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Unregistering CamelContext [{}] from OSGi registry", context.getName());
                 }
                 try {
                     reg.unregister();
                 } catch (Exception e) {
-                    log.warn("Error unregistering CamelContext [" + context.getName() + "] from OSGi registry. This exception will be ignored.", e);
+                    LOG.warn("Error unregistering CamelContext [" + context.getName() + "] from OSGi registry. This exception will be ignored.", e);
                 }
             }
         }
@@ -83,12 +87,12 @@ public class OsgiCamelContextPublisher extends EventNotifierSupport {
     protected void doShutdown() throws Exception {
         // clear and unregister any left-over registration (which should not happen)
         if (!registrations.isEmpty()) {
-            log.warn("On shutdown there are {} registrations which was supposed to have been unregistered already. Will unregister these now.", registrations.size());
+            LOG.warn("On shutdown there are {} registrations which was supposed to have been unregistered already. Will unregister these now.", registrations.size());
             for (ServiceRegistration<?> reg : registrations.values()) {
                 try {
                     reg.unregister();
                 } catch (Exception e) {
-                    log.warn("Error unregistering from OSGi registry. This exception will be ignored.", e);
+                    LOG.warn("Error unregistering from OSGi registry. This exception will be ignored.", e);
                 }
             }
         }
@@ -114,7 +118,7 @@ public class OsgiCamelContextPublisher extends EventNotifierSupport {
                 props.put(CONTEXT_MANAGEMENT_NAME_PROPERTY, managementName);
             }
 
-            log.debug("Registering CamelContext [{}] in OSGi registry", name);
+            LOG.debug("Registering CamelContext [{}] in OSGi registry", name);
 
             ServiceRegistration<?> reg = bundleContext.registerService(CamelContext.class.getName(), camelContext, props);
             if (reg != null) {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
index 27ef44a..32a420e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
@@ -118,7 +118,7 @@ public class CustomIdFactoryTest extends ContextTestSupport {
             return new DelegateProcessor(target) {
                 @Override
                 protected void processNext(Exchange exchange) throws Exception {
-                    log.debug("Debugging at: {} with id: {} with exchange: {}", definition, definition.getId(), exchange);
+                    LOG.debug("Debugging at: {} with id: {} with exchange: {}", definition, definition.getId(), exchange);
 
                     // record the path taken at runtime
                     ids += definition.getId();
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
index 27e4fbf..6cdeae1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/transformer/TransformerRouteTest.java
@@ -260,11 +260,11 @@ public class TransformerRouteTest extends ContextTestSupport {
                 public boolean process(Exchange exchange, AsyncCallback callback) {
                     Object input = exchange.getIn().getBody();
                     if (input instanceof XOrderResponse) {
-                        log.info("Endpoint: XOrderResponse -> XML");
+                        LOG.info("Endpoint: XOrderResponse -> XML");
                         exchange.getIn().setBody("<XOrderResponse/>");
                     } else {
                         assertEquals("<XOrder/>", input);
-                        log.info("Endpoint: XML -> XOrder");
+                        LOG.info("Endpoint: XML -> XOrder");
                         exchange.getIn().setBody(new XOrder());
 
                     }
@@ -294,7 +294,7 @@ public class TransformerRouteTest extends ContextTestSupport {
         @Override
         public void transform(Message message, DataType from, DataType to) throws Exception {
             assertEquals("name=XOrder", message.getBody());
-            log.info("Bean: Other -> XOrder");
+            LOG.info("Bean: Other -> XOrder");
             message.setBody(new XOrder());
         }
     }
@@ -302,7 +302,7 @@ public class TransformerRouteTest extends ContextTestSupport {
     public static class XOrderResponseToOtherTransformer extends Transformer {
         @Override
         public void transform(Message message, DataType from, DataType to) throws Exception {
-            log.info("Bean: XOrderResponse -> Other");
+            LOG.info("Bean: XOrderResponse -> Other");
             message.setBody("name=XOrderResponse");
         }
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/validator/ValidatorRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/validator/ValidatorRouteTest.java
index b131795..b649bc1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/validator/ValidatorRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/validator/ValidatorRouteTest.java
@@ -148,7 +148,7 @@ public class ValidatorRouteTest extends ContextTestSupport {
         public void validate(Message message, DataType type) throws ValidationException {
             message.getExchange().setProperty(VALIDATOR_INVOKED, OtherXOrderValidator.class);
             assertEquals("name=XOrder", message.getBody());
-            log.info("Java validation: other XOrder");
+            LOG.info("Java validation: other XOrder");
         }
     }
 
@@ -157,7 +157,7 @@ public class ValidatorRouteTest extends ContextTestSupport {
         public void validate(Message message, DataType type) throws ValidationException {
             message.getExchange().setProperty(VALIDATOR_INVOKED, OtherXOrderResponseValidator.class);
             assertEquals("name=XOrderResponse", message.getBody());
-            log.info("Java validation: other XOrderResponse");
+            LOG.info("Java validation: other XOrderResponse");
         }
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/MyLoggingSentEventNotifer.java b/core/camel-core/src/test/java/org/apache/camel/processor/MyLoggingSentEventNotifer.java
index 70e36d5..fe68393 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/MyLoggingSentEventNotifer.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/MyLoggingSentEventNotifer.java
@@ -19,16 +19,20 @@ package org.apache.camel.processor;
 import org.apache.camel.spi.CamelEvent;
 import org.apache.camel.spi.CamelEvent.ExchangeSentEvent;
 import org.apache.camel.support.EventNotifierSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 // START SNIPPET: e1
 public class MyLoggingSentEventNotifer extends EventNotifierSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(MyLoggingSentEventNotifer.class);
+
     @Override
     public void notify(CamelEvent event) throws Exception {
         // react only when its the sent event
         if (event instanceof ExchangeSentEvent) {
             ExchangeSentEvent sent = (ExchangeSentEvent)event;
-            log.info("Took {} millis to send to: {}", sent.getTimeTaken(), sent.getEndpoint());
+            LOG.info("Took {} millis to send to: {}", sent.getTimeTaken(), sent.getEndpoint());
         }
 
     }
diff --git a/core/camel-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java b/core/camel-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
index 314c6cf..e08fa00 100644
--- a/core/camel-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
+++ b/core/camel-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java
@@ -37,6 +37,8 @@ import javax.xml.validation.Schema;
 import javax.xml.validation.SchemaFactory;
 import javax.xml.validation.Validator;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Node;
 import org.w3c.dom.ls.LSResourceResolver;
 
@@ -60,6 +62,8 @@ import static org.apache.camel.support.processor.validation.SchemaReader.ACCESS_
  */
 public class ValidatingProcessor extends AsyncProcessorSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ValidatingProcessor.class);
+
     private final SchemaReader schemaReader;
     private ValidatorErrorHandler errorHandler = new DefaultValidationErrorHandler();
     private boolean useSharedSchema = true;
@@ -102,11 +106,11 @@ public class ValidatingProcessor extends AsyncProcessorSupport {
         // turn off access to external schema by default
         if (!Boolean.parseBoolean(exchange.getContext().getGlobalOptions().get(ACCESS_EXTERNAL_DTD))) {
             try {
-                log.debug("Configuring Validator to not allow access to external DTD/Schema");
+                LOG.debug("Configuring Validator to not allow access to external DTD/Schema");
                 validator.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
                 validator.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
             } catch (SAXException e) {
-                log.warn(e.getMessage(), e);
+                LOG.warn(e.getMessage(), e);
             }
         }
 
@@ -160,7 +164,7 @@ public class ValidatingProcessor extends AsyncProcessorSupport {
                 validator.setErrorHandler(handler);
 
                 try {
-                    log.trace("Validating {}", source);
+                    LOG.trace("Validating {}", source);
                     validator.validate(source, result);
                     handler.handleErrors(exchange, schema, result);
                 } catch (SAXParseException e) {
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
index 74d1344..d6540f4 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
@@ -479,7 +479,7 @@ public abstract class BaseMainSupport extends ServiceSupport {
             // invoke configure method if exists
             Method method = findMethod(config.getClass(), "configure");
             if (method != null) {
-                log.info("Calling configure method on configuration class: {}", config.getClass().getName());
+                LOG.info("Calling configure method on configuration class: {}", config.getClass().getName());
                 invokeMethod(method, config);
             }
         }
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/DefaultInstrumentationProcessor.java b/core/camel-management/src/main/java/org/apache/camel/management/DefaultInstrumentationProcessor.java
index 52f4042..a6dd4f9f 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/DefaultInstrumentationProcessor.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/DefaultInstrumentationProcessor.java
@@ -24,6 +24,8 @@ import org.apache.camel.management.mbean.ManagedPerformanceCounter;
 import org.apache.camel.spi.ManagementInterceptStrategy.InstrumentationProcessor;
 import org.apache.camel.support.processor.DelegateAsyncProcessor;
 import org.apache.camel.util.StopWatch;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * JMX enabled processor or advice that uses the {@link org.apache.camel.management.mbean.ManagedCounter} for instrumenting
@@ -35,6 +37,9 @@ import org.apache.camel.util.StopWatch;
 public class DefaultInstrumentationProcessor extends DelegateAsyncProcessor
         implements InstrumentationProcessor<StopWatch>, Ordered {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultInstrumentationProcessor.class);
+
+
     private PerformanceCounter counter;
     private String type;
 
@@ -91,8 +96,8 @@ public class DefaultInstrumentationProcessor extends DelegateAsyncProcessor
     }
 
     protected void recordTime(Exchange exchange, long duration) {
-        if (log.isTraceEnabled()) {
-            log.trace("{}Recording duration: {} millis for exchange: {}", type != null ? type + ": " : "", duration, exchange);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("{}Recording duration: {} millis for exchange: {}", type != null ? type + ": " : "", duration, exchange);
         }
 
         if (!exchange.isFailed() && exchange.getException() == null) {
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
index 755539a..72f1c9a 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.management;
 
+import javax.management.JMException;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -26,10 +29,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ThreadPoolExecutor;
 
-import javax.management.JMException;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Channel;
@@ -112,6 +111,8 @@ import org.apache.camel.throttling.ThrottlingExceptionRoutePolicy;
 import org.apache.camel.throttling.ThrottlingInflightRoutePolicy;
 import org.apache.camel.util.KeyValueHolder;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default JMX managed lifecycle strategy that registered objects using the configured
@@ -121,6 +122,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class JmxManagementLifecycleStrategy extends ServiceSupport implements LifecycleStrategy, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(JmxManagementLifecycleStrategy.class);
+
     // the wrapped processors is for performance counters, which are in use for the created routes
     // when a route is removed, we should remove the associated processors from this map
     private final Map<Processor, KeyValueHolder<NamedNode, InstrumentationProcessor>> wrappedProcessors = new HashMap<>();
@@ -198,7 +201,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
                         throw new VetoCamelContextStartException("CamelContext (" + context.getName() + ") with ObjectName[" + on + "] is already registered."
                             + " Make sure to use unique names on CamelContext when using multiple CamelContexts in the same MBeanServer.", context);
                     } else {
-                        log.warn("This CamelContext(" + context.getName() + ") will be registered using the name: " + managementName
+                        LOG.warn("This CamelContext(" + context.getName() + ") will be registered using the name: " + managementName
                             + " due to clash with an existing name already registered in MBeanServer.");
                     }
                 }
@@ -241,7 +244,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             }
             manageObject(me);
         } catch (Exception e) {
-            log.warn("Could not register CamelHealth MBean. This exception will be ignored.", e);
+            LOG.warn("Could not register CamelHealth MBean. This exception will be ignored.", e);
         }
 
         try {
@@ -252,7 +255,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             }
             manageObject(me);
         } catch (Exception e) {
-            log.warn("Could not register RouteController MBean. This exception will be ignored.", e);
+            LOG.warn("Could not register RouteController MBean. This exception will be ignored.", e);
         }
     }
 
@@ -270,8 +273,8 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             newName = strategy.getNextName();
             ObjectName on = getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForCamelContext(newName, name);
             done = !getManagementStrategy().isManagedName(on);
-            if (log.isTraceEnabled()) {
-                log.trace("Using name: {} in ObjectName[{}] exists? {}", name, on, done);
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Using name: {} in ObjectName[{}] exists? {}", name, on, done);
             }
         }
         return newName;
@@ -291,7 +294,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             return;
         }
 
-        log.debug("Registering {} pre registered services", preServices.size());
+        LOG.debug("Registering {} pre registered services", preServices.size());
         for (PreRegisterService pre : preServices) {
             if (pre.getComponent() != null) {
                 onComponentAdd(pre.getName(), pre.getComponent());
@@ -320,7 +323,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
                 unmanageObject(mc);
             }
         } catch (Exception e) {
-            log.warn("Could not unregister RouteController MBean", e);
+            LOG.warn("Could not unregister RouteController MBean", e);
         }
 
         try {
@@ -330,7 +333,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
                 unmanageObject(mc);
             }
         } catch (Exception e) {
-            log.warn("Could not unregister CamelHealth MBean", e);
+            LOG.warn("Could not unregister CamelHealth MBean", e);
         }
 
         try {
@@ -340,7 +343,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
                 unmanageObject(mc);
             }
         } catch (Exception e) {
-            log.warn("Could not unregister CamelContext MBean", e);
+            LOG.warn("Could not unregister CamelContext MBean", e);
         }
 
         camelContextMBean = null;
@@ -360,7 +363,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             Object mc = getManagementObjectStrategy().getManagedObjectForComponent(camelContext, component, name);
             manageObject(mc);
         } catch (Exception e) {
-            log.warn("Could not register Component MBean", e);
+            LOG.warn("Could not register Component MBean", e);
         }
     }
 
@@ -374,7 +377,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             Object mc = getManagementObjectStrategy().getManagedObjectForComponent(camelContext, component, name);
             unmanageObject(mc);
         } catch (Exception e) {
-            log.warn("Could not unregister Component MBean", e);
+            LOG.warn("Could not unregister Component MBean", e);
         }
     }
 
@@ -408,7 +411,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             }
             manageObject(me);
         } catch (Exception e) {
-            log.warn("Could not register Endpoint MBean for endpoint: " + endpoint + ". This exception will be ignored.", e);
+            LOG.warn("Could not register Endpoint MBean for endpoint: " + endpoint + ". This exception will be ignored.", e);
         }
     }
 
@@ -423,7 +426,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             Object me = getManagementObjectStrategy().getManagedObjectForEndpoint(camelContext, endpoint);
             unmanageObject(me);
         } catch (Exception e) {
-            log.warn("Could not unregister Endpoint MBean for endpoint: " + endpoint + ". This exception will be ignored.", e);
+            LOG.warn("Could not unregister Endpoint MBean for endpoint: " + endpoint + ". This exception will be ignored.", e);
         }
     }
 
@@ -453,14 +456,14 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
 
         // skip already managed services, for example if a route has been restarted
         if (getManagementStrategy().isManaged(managedObject)) {
-            log.trace("The service is already managed: {}", service);
+            LOG.trace("The service is already managed: {}", service);
             return;
         }
 
         try {
             manageObject(managedObject);
         } catch (Exception e) {
-            log.warn("Could not register service: " + service + " as Service MBean.", e);
+            LOG.warn("Could not register service: " + service + " as Service MBean.", e);
         }
     }
 
@@ -476,7 +479,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             try {
                 unmanageObject(managedObject);
             } catch (Exception e) {
-                log.warn("Could not unregister service: " + service + " as Service MBean.", e);
+                LOG.warn("Could not unregister service: " + service + " as Service MBean.", e);
             }
         }
     }
@@ -625,7 +628,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
 
             // skip already managed routes, for example if the route has been restarted
             if (getManagementStrategy().isManaged(mr)) {
-                log.trace("The route is already managed: {}", route);
+                LOG.trace("The route is already managed: {}", route);
                 continue;
             }
 
@@ -651,9 +654,9 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             try {
                 manageObject(mr);
             } catch (JMException e) {
-                log.warn("Could not register Route MBean", e);
+                LOG.warn("Could not register Route MBean", e);
             } catch (Exception e) {
-                log.warn("Could not create Route MBean", e);
+                LOG.warn("Could not create Route MBean", e);
             }
         }
     }
@@ -670,14 +673,14 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
 
             // skip unmanaged routes
             if (!getManagementStrategy().isManaged(mr)) {
-                log.trace("The route is not managed: {}", route);
+                LOG.trace("The route is not managed: {}", route);
                 continue;
             }
 
             try {
                 unmanageObject(mr);
             } catch (Exception e) {
-                log.warn("Could not unregister Route MBean", e);
+                LOG.warn("Could not unregister Route MBean", e);
             }
 
             // remove from known routes ids, as the route has been removed
@@ -700,14 +703,14 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
 
         // skip already managed services, for example if a route has been restarted
         if (getManagementStrategy().isManaged(me)) {
-            log.trace("The error handler builder is already managed: {}", errorHandlerBuilder);
+            LOG.trace("The error handler builder is already managed: {}", errorHandlerBuilder);
             return;
         }
 
         try {
             manageObject(me);
         } catch (Exception e) {
-            log.warn("Could not register error handler builder: " + errorHandlerBuilder + " as ErrorHandler MBean.", e);
+            LOG.warn("Could not register error handler builder: " + errorHandlerBuilder + " as ErrorHandler MBean.", e);
         }
     }
 
@@ -722,7 +725,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             try {
                 unmanageObject(me);
             } catch (Exception e) {
-                log.warn("Could not unregister error handler: " + me + " as ErrorHandler MBean.", e);
+                LOG.warn("Could not unregister error handler: " + me + " as ErrorHandler MBean.", e);
             }
         }
     }
@@ -740,7 +743,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
 
         // skip already managed services, for example if a route has been restarted
         if (getManagementStrategy().isManaged(mtp)) {
-            log.trace("The thread pool is already managed: {}", threadPool);
+            LOG.trace("The thread pool is already managed: {}", threadPool);
             return;
         }
 
@@ -750,7 +753,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             // we need to keep track here, as we cannot re-construct the thread pool ObjectName when removing the thread pool
             managedThreadPools.put(threadPool, mtp);
         } catch (Exception e) {
-            log.warn("Could not register thread pool: " + threadPool + " as ThreadPool MBean.", e);
+            LOG.warn("Could not register thread pool: " + threadPool + " as ThreadPool MBean.", e);
         }
     }
 
@@ -765,14 +768,14 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
         if (mtp != null) {
             // skip unmanaged routes
             if (!getManagementStrategy().isManaged(mtp)) {
-                log.trace("The thread pool is not managed: {}", threadPool);
+                LOG.trace("The thread pool is not managed: {}", threadPool);
                 return;
             }
 
             try {
                 unmanageObject(mtp);
             } catch (Exception e) {
-                log.warn("Could not unregister ThreadPool MBean", e);
+                LOG.warn("Could not unregister ThreadPool MBean", e);
             }
         }
     }
@@ -942,7 +945,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             return false;
         }
 
-        log.trace("Checking whether to register {} from route: {}", service, route);
+        LOG.trace("Checking whether to register {} from route: {}", service, route);
 
         ManagementAgent agent = getManagementStrategy().getManagementAgent();
         if (agent == null) {
@@ -997,7 +1000,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
                     && camelContext.getManagementStrategy().getManagementAgent().getLoadStatisticsEnabled();
             boolean disabled = !load || camelContext.getManagementStrategy().getManagementAgent().getStatisticsLevel() == ManagementStatisticsLevel.Off;
 
-            log.debug("Load performance statistics {}", disabled ? "disabled" : "enabled");
+            LOG.debug("Load performance statistics {}", disabled ? "disabled" : "enabled");
             if (!disabled) {
                 // must use 1 sec interval as the load statistics is based on 1 sec calculations
                 loadTimer.setInterval(1000);
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java
index 860f764..7c10d77 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java
@@ -25,6 +25,8 @@ import org.apache.camel.impl.engine.DefaultManagementStrategy;
 import org.apache.camel.spi.ManagementAgent;
 import org.apache.camel.spi.ManagementObjectNameStrategy;
 import org.apache.camel.spi.ManagementObjectStrategy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A JMX capable {@link org.apache.camel.spi.ManagementStrategy} that Camel by default uses if possible.
@@ -36,6 +38,8 @@ import org.apache.camel.spi.ManagementObjectStrategy;
  */
 public class JmxManagementStrategy extends DefaultManagementStrategy {
 
+    private static final Logger LOG = LoggerFactory.getLogger(JmxManagementStrategy.class);
+
     public JmxManagementStrategy() {
     }
 
@@ -69,7 +73,7 @@ public class JmxManagementStrategy extends DefaultManagementStrategy {
                 return getManagementAgent().isRegistered(name);
             }
         } catch (Exception e) {
-            log.warn("Cannot check whether the managed object is registered. This exception will be ignored.", e);
+            LOG.warn("Cannot check whether the managed object is registered. This exception will be ignored.", e);
         }
         return false;
     }
@@ -81,7 +85,7 @@ public class JmxManagementStrategy extends DefaultManagementStrategy {
                 return getManagementAgent().isRegistered((ObjectName) name);
             }
         } catch (Exception e) {
-            log.warn("Cannot check whether the managed object is registered. This exception will be ignored.", e);
+            LOG.warn("Cannot check whether the managed object is registered. This exception will be ignored.", e);
         }
         return false;
     }
@@ -93,7 +97,7 @@ public class JmxManagementStrategy extends DefaultManagementStrategy {
 
     @Override
     protected void doStart() throws Exception {
-        log.info("JMX is enabled");
+        LOG.info("JMX is enabled");
         doStartManagementStrategy();
     }
 
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/PublishEventNotifier.java b/core/camel-management/src/main/java/org/apache/camel/management/PublishEventNotifier.java
index 7abdbfa..687d201 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/PublishEventNotifier.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/PublishEventNotifier.java
@@ -28,6 +28,8 @@ import org.apache.camel.support.EventNotifierSupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A {@link org.apache.camel.spi.EventNotifier} which publishes the {@link EventObject} to some
@@ -39,6 +41,8 @@ import org.apache.camel.util.URISupport;
  */
 public class PublishEventNotifier extends EventNotifierSupport implements CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(PublishEventNotifier.class);
+
     private CamelContext camelContext;
     private Endpoint endpoint;
     private String endpointUri;
@@ -48,13 +52,13 @@ public class PublishEventNotifier extends EventNotifierSupport implements CamelC
     public void notify(CamelEvent event) throws Exception {
         // only notify when we are started
         if (!isStarted()) {
-            log.debug("Cannot publish event as notifier is not started: {}", event);
+            LOG.debug("Cannot publish event as notifier is not started: {}", event);
             return;
         }
 
         // only notify when camel context is running
         if (!camelContext.getStatus().isStarted()) {
-            log.debug("Cannot publish event as CamelContext is not started: {}", event);
+            LOG.debug("Cannot publish event as CamelContext is not started: {}", event);
             return;
         }
 
diff --git a/core/camel-management/src/test/java/org/apache/camel/processor/ReduceStacksNeededDuringRoutingSendProcessorTest.java b/core/camel-management/src/test/java/org/apache/camel/processor/ReduceStacksNeededDuringRoutingSendProcessorTest.java
index 0d5b30a..51a659b 100644
--- a/core/camel-management/src/test/java/org/apache/camel/processor/ReduceStacksNeededDuringRoutingSendProcessorTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/processor/ReduceStacksNeededDuringRoutingSendProcessorTest.java
@@ -29,9 +29,13 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.DefaultAsyncProducer;
 import org.apache.camel.support.DefaultEndpoint;
 import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ReduceStacksNeededDuringRoutingSendProcessorTest extends ContextTestSupport {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ReduceStacksNeededDuringRoutingSendProcessorTest.class);
+
     @Override
     protected boolean useJmx() {
         return true;
@@ -100,8 +104,8 @@ public class ReduceStacksNeededDuringRoutingSendProcessorTest extends ContextTes
                 throw new IllegalArgumentException("Forced to dump stacktrace");
             } catch (Exception e) {
                 e.fillInStackTrace();
-                log.info("There are " + e.getStackTrace().length + " lines in the stacktrace");
-                log.error("Dump stacktrace to log", e);
+                LOG.info("There are " + e.getStackTrace().length + " lines in the stacktrace");
+                LOG.error("Dump stacktrace to log", e);
             }
             callback.done(true);
             return true;
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ChildServiceSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/ChildServiceSupport.java
index 44c0248..f5577f9 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/ChildServiceSupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/ChildServiceSupport.java
@@ -35,30 +35,24 @@ public abstract class ChildServiceSupport extends ServiceSupport {
     public void start() {
         synchronized (lock) {
             if (status == STARTED) {
-                log.trace("Service: {} already started", this);
                 return;
             }
             if (status == STARTING) {
-                log.trace("Service: {} already starting", this);
                 return;
             }
             try {
                 initService(childServices);
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while initializing service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             }
             try {
                 status = STARTING;
-                log.trace("Starting service: {}", this);
                 ServiceHelper.startService(childServices);
                 doStart();
                 status = STARTED;
-                log.trace("Service: {} started", this);
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while starting service: " + this, e);
                 ServiceHelper.stopService(childServices);
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             }
@@ -69,23 +63,18 @@ public abstract class ChildServiceSupport extends ServiceSupport {
     public void stop() {
         synchronized (lock) {
             if (status == STOPPED || status == SHUTTINGDOWN || status == SHUTDOWN) {
-                log.trace("Service: {} already stopped", this);
                 return;
             }
             if (status == STOPPING) {
-                log.trace("Service: {} already stopping", this);
                 return;
             }
             status = STOPPING;
-            log.trace("Stopping service: {}", this);
             try {
                 doStop();
                 ServiceHelper.stopService(childServices);
                 status = STOPPED;
-                log.trace("Service: {} stopped service", this);
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error while stopping service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             }
         }
@@ -95,24 +84,19 @@ public abstract class ChildServiceSupport extends ServiceSupport {
     public void shutdown() {
         synchronized (lock) {
             if (status == SHUTDOWN) {
-                log.trace("Service: {} already shut down", this);
                 return;
             }
             if (status == SHUTTINGDOWN) {
-                log.trace("Service: {} already shutting down", this);
                 return;
             }
             stop();
             status = SHUTDOWN;
-            log.trace("Shutting down service: {}", this);
             try {
                 doShutdown();
                 ServiceHelper.stopAndShutdownServices(childServices);
-                log.trace("Service: {} shut down", this);
                 status = SHUTDOWN;
             } catch (Exception e) {
                 status = FAILED;
-                log.trace("Error shutting down service: " + this, e);
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             }
         }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
index da53ee4..78a5390 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
@@ -47,12 +47,16 @@ import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.URISupport;
 import org.apache.camel.util.UnsafeUriCharactersEncoder;
 import org.apache.camel.util.function.Suppliers;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default component to use for base for components implementations.
  */
 public abstract class DefaultComponent extends ServiceSupport implements Component {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultComponent.class);
+
     /**
      * Simple RAW() pattern used only for validating URI in this class
      */
@@ -132,12 +136,12 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
         parameters.remove("hash");
 
         validateURI(uri, path, parameters);
-        if (log.isTraceEnabled()) {
+        if (LOG.isTraceEnabled()) {
             // at trace level its okay to have parameters logged, that may contain passwords
-            log.trace("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path), parameters);
-        } else if (log.isDebugEnabled()) {
+            LOG.trace("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path), parameters);
+        } else if (LOG.isDebugEnabled()) {
             // but at debug level only output sanitized uris
-            log.debug("Creating endpoint uri=[{}], path=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path));
+            LOG.debug("Creating endpoint uri=[{}], path=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path));
         }
 
         // extract these global options and infer their value based on global/component level configuration
@@ -222,12 +226,12 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
         uri = useRawUri() ? uri : encodedUri;
 
         validateURI(uri, path, parameters);
-        if (log.isTraceEnabled()) {
+        if (LOG.isTraceEnabled()) {
             // at trace level its okay to have parameters logged, that may contain passwords
-            log.trace("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path), parameters);
-        } else if (log.isDebugEnabled()) {
+            LOG.trace("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path), parameters);
+        } else if (LOG.isDebugEnabled()) {
             // but at debug level only output sanitized uris
-            log.debug("Creating endpoint uri=[{}], path=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path));
+            LOG.debug("Creating endpoint uri=[{}], path=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path));
         }
 
         // extract these global options and infer their value based on global/component level configuration
@@ -408,33 +412,33 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
             }
             try {
                 final Registry registry = getCamelContext().getRegistry();
-                log.trace("Discovering optional component property configurer class for component: {}", name);
+                LOG.trace("Discovering optional component property configurer class for component: {}", name);
                 final String componentConfigurerName = name + "-component-configurer";
                 componentPropertyConfigurer = registry.lookupByNameAndType(componentConfigurerName, GeneratedPropertyConfigurer.class);
-                if (log.isDebugEnabled() && componentPropertyConfigurer != null) {
-                    log.debug("Discovered component property configurer using the Camel registry: {} -> {}", componentConfigurerName, componentPropertyConfigurer);
+                if (LOG.isDebugEnabled() && componentPropertyConfigurer != null) {
+                    LOG.debug("Discovered component property configurer using the Camel registry: {} -> {}", componentConfigurerName, componentPropertyConfigurer);
                 }
                 if (componentPropertyConfigurer == null) {
                     final Optional<Class<?>> clazz = getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH)
                             .findOptionalClass(name + "-component", null);
                     clazz.ifPresent(c -> componentPropertyConfigurer = org.apache.camel.support.ObjectHelper.newInstance(c, GeneratedPropertyConfigurer.class));
-                    if (log.isDebugEnabled() && componentPropertyConfigurer != null) {
-                        log.debug("Discovered component property configurer using the FactoryFinder: {} -> {}", name, componentPropertyConfigurer);
+                    if (LOG.isDebugEnabled() && componentPropertyConfigurer != null) {
+                        LOG.debug("Discovered component property configurer using the FactoryFinder: {} -> {}", name, componentPropertyConfigurer);
                     }
                 }
 
-                log.trace("Discovering optional endpoint property configurer class for component: {}", name);
+                LOG.trace("Discovering optional endpoint property configurer class for component: {}", name);
                 final String endpointConfigurerName = name + "-endpoint-configurer";
                 endpointPropertyConfigurer = registry.lookupByNameAndType(endpointConfigurerName, GeneratedPropertyConfigurer.class);
-                if (log.isDebugEnabled() && endpointPropertyConfigurer != null) {
-                    log.debug("Discovered endpoint property configurer using the Camel registry: {} -> {}", endpointConfigurerName, endpointPropertyConfigurer);
+                if (LOG.isDebugEnabled() && endpointPropertyConfigurer != null) {
+                    LOG.debug("Discovered endpoint property configurer using the Camel registry: {} -> {}", endpointConfigurerName, endpointPropertyConfigurer);
                 }
                 if (endpointPropertyConfigurer == null) {
                     final Optional<Class<?>> clazz = getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH)
                             .findOptionalClass(name + "-endpoint", null);
                     clazz.ifPresent(c -> endpointPropertyConfigurer = org.apache.camel.support.ObjectHelper.newInstance(c, GeneratedPropertyConfigurer.class));
-                    if (log.isDebugEnabled() && endpointPropertyConfigurer != null) {
-                        log.debug("Discovered endpoint property configurer using the FactoryFinder: {} -> {}", name, endpointPropertyConfigurer);
+                    if (LOG.isDebugEnabled() && endpointPropertyConfigurer != null) {
+                        LOG.debug("Discovered endpoint property configurer using the FactoryFinder: {} -> {}", name, endpointPropertyConfigurer);
                     }
                 }
             } catch (NoFactoryAvailableException e) {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
index 1248651..10bce1c 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
@@ -31,12 +31,16 @@ import org.apache.camel.spi.UnitOfWork;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A default consumer useful for implementation inheritance.
  */
 public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultConsumer.class);
+
     private transient String consumerToString;
     private final Endpoint endpoint;
     private final Processor processor;
@@ -152,19 +156,19 @@ public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAw
 
     @Override
     protected void doInit() throws Exception {
-        log.debug("Init consumer: {}", this);
+        LOG.debug("Init consumer: {}", this);
         ServiceHelper.initService(processor);
     }
 
     @Override
     protected void doStop() throws Exception {
-        log.debug("Stopping consumer: {}", this);
+        LOG.debug("Stopping consumer: {}", this);
         ServiceHelper.stopService(processor);
     }
 
     @Override
     protected void doStart() throws Exception {
-        log.debug("Starting consumer: {}", this);
+        LOG.debug("Starting consumer: {}", this);
         ServiceHelper.startService(processor);
     }
 
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java
index 5a64175..d0dea66 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java
@@ -36,6 +36,8 @@ import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A default endpoint useful for implementation inheritance.
@@ -50,6 +52,8 @@ import org.apache.camel.util.URISupport;
  */
 public abstract class DefaultEndpoint extends ServiceSupport implements Endpoint, HasId, CamelContextAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultEndpoint.class);
+
     private final String id = EndpointHelper.createEndpointId();
     private transient String endpointUriToString;
     private volatile String endpointUri;
@@ -212,9 +216,9 @@ public abstract class DefaultEndpoint extends ServiceSupport implements Endpoint
     @Override
     public PollingConsumer createPollingConsumer() throws Exception {
         // should not call configurePollingConsumer when its EventDrivenPollingConsumer
-        if (log.isDebugEnabled()) {
-            log.debug("Creating EventDrivenPollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
-                    new Object[]{getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(), getPollingConsumerBlockTimeout()});
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Creating EventDrivenPollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
+                    getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(), getPollingConsumerBlockTimeout());
         }
         EventDrivenPollingConsumer consumer = new EventDrivenPollingConsumer(this, getPollingConsumerQueueSize());
         consumer.setBlockWhenFull(isPollingConsumerBlockWhenFull());
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultProducer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultProducer.java
index 732119c..dc4dc48 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultProducer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultProducer.java
@@ -21,12 +21,16 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Producer;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A default implementation of {@link Producer} for implementation inheritance.
  */
 public abstract class DefaultProducer extends ServiceSupport implements Producer {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultProducer.class);
+
     private transient String producerToString;
     private final Endpoint endpoint;
 
@@ -63,9 +67,9 @@ public abstract class DefaultProducer extends ServiceSupport implements Producer
     protected void doStart() throws Exception {
         // log at debug level for singletons, for prototype scoped log at trace level to not spam logs
         if (isSingleton()) {
-            log.debug("Starting producer: {}", this);
+            LOG.debug("Starting producer: {}", this);
         } else {
-            log.trace("Starting producer: {}", this);
+            LOG.trace("Starting producer: {}", this);
         }
     }
 
@@ -73,9 +77,9 @@ public abstract class DefaultProducer extends ServiceSupport implements Producer
     protected void doStop() throws Exception {
         // log at debug level for singletons, for prototype scoped log at trace level to not spam logs
         if (isSingleton()) {
-            log.debug("Stopping producer: {}", this);
+            LOG.debug("Stopping producer: {}", this);
         } else {
-            log.trace("Stopping producer: {}", this);
+            LOG.trace("Stopping producer: {}", this);
         }
     }
 }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java
index d0450c7..134af0f 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java
@@ -23,12 +23,17 @@ import org.apache.camel.Exchange;
 import org.apache.camel.PollingConsumer;
 import org.apache.camel.Processor;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A default implementation of an event driven {@link org.apache.camel.Consumer} which uses the
  * {@link PollingConsumer}
  */
 public class DefaultScheduledPollConsumer extends ScheduledPollConsumer {
+
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultScheduledPollConsumer.class);
+
     private PollingConsumer pollingConsumer;
     private int timeout;
 
@@ -59,7 +64,7 @@ public class DefaultScheduledPollConsumer extends ScheduledPollConsumer {
             }
 
             messagesPolled++;
-            log.trace("Polled {} {}", messagesPolled, exchange);
+            LOG.trace("Polled {} {}", messagesPolled, exchange);
 
             // prepare for processing where message should be IN
             ExchangeHelper.prepareOutToIn(exchange);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
index ed2c3d5..7e5a87c 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java
@@ -28,12 +28,16 @@ import org.apache.camel.Consumer;
 import org.apache.camel.spi.ScheduledPollConsumerScheduler;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default {@link ScheduledBatchPollingConsumer}.
  */
 public class DefaultScheduledPollConsumerScheduler extends ServiceSupport implements ScheduledPollConsumerScheduler {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultScheduledPollConsumerScheduler.class);
+
     private CamelContext camelContext;
     private Consumer consumer;
     private ScheduledExecutorService scheduledExecutorService;
@@ -137,16 +141,16 @@ public class DefaultScheduledPollConsumerScheduler extends ServiceSupport implem
         // only schedule task if we have not already done that
         if (futures.size() == 0) {
             if (isUseFixedDelay()) {
-                if (log.isDebugEnabled()) {
-                    log.debug("Scheduling poll (fixed delay) with initialDelay: {}, delay: {} ({}) for: {}",
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Scheduling poll (fixed delay) with initialDelay: {}, delay: {} ({}) for: {}",
                             new Object[]{getInitialDelay(), getDelay(), getTimeUnit().name().toLowerCase(Locale.ENGLISH), consumer.getEndpoint()});
                 }
                 for (int i = 0; i < concurrentTasks; i++) {
                     futures.add(scheduledExecutorService.scheduleWithFixedDelay(task, getInitialDelay(), getDelay(), getTimeUnit()));
                 }
             } else {
-                if (log.isDebugEnabled()) {
-                    log.debug("Scheduling poll (fixed rate) with initialDelay: {}, delay: {} ({}) for: {}",
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Scheduling poll (fixed rate) with initialDelay: {}, delay: {} ({}) for: {}",
                             new Object[]{getInitialDelay(), getDelay(), getTimeUnit().name().toLowerCase(Locale.ENGLISH), consumer.getEndpoint()});
                 }
                 for (int i = 0; i < concurrentTasks; i++) {
@@ -180,7 +184,7 @@ public class DefaultScheduledPollConsumerScheduler extends ServiceSupport implem
     @Override
     protected void doStop() throws Exception {
         if (isSchedulerStarted()) {
-            log.debug("This consumer is stopping, so cancelling scheduled task: {}", futures);
+            LOG.debug("This consumer is stopping, so cancelling scheduled task: {}", futures);
             for (ScheduledFuture<?> future : futures) {
                 future.cancel(true);
             }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java
index a54539f..e67f0fd 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java
@@ -31,6 +31,8 @@ import org.apache.camel.PollingConsumerPollingStrategy;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.ExceptionHandler;
 import org.apache.camel.support.service.ServiceHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A default implementation of the {@link org.apache.camel.PollingConsumer} which uses the normal
@@ -39,6 +41,8 @@ import org.apache.camel.support.service.ServiceHelper;
  */
 public class EventDrivenPollingConsumer extends PollingConsumerSupport implements Processor, IsSingleton {
 
+    private static final Logger LOG = LoggerFactory.getLogger(EventDrivenPollingConsumer.class);
+
     private final BlockingQueue<Exchange> queue;
     private ExceptionHandler interruptedExceptionHandler;
     private Consumer consumer;
@@ -129,7 +133,7 @@ public class EventDrivenPollingConsumer extends PollingConsumerSupport implement
                 }
             }
         }
-        log.trace("Consumer is not running, so returning null");
+        LOG.trace("Consumer is not running, so returning null");
         return null;
     }
 
@@ -169,7 +173,7 @@ public class EventDrivenPollingConsumer extends PollingConsumerSupport implement
                 }
             } catch (InterruptedException e) {
                 // ignore
-                log.debug("Put interrupted, are we stopping? {}", isStopping() || isStopped());
+                LOG.debug("Put interrupted, are we stopping? {}", isStopping() || isStopped());
             }
         } else {
             queue.add(exchange);
@@ -198,7 +202,7 @@ public class EventDrivenPollingConsumer extends PollingConsumerSupport implement
             try {
                 timeout = strategy.beforePoll(timeout);
             } catch (Exception e) {
-                log.debug("Error occurred before polling " + consumer + ". This exception will be ignored.", e);
+                LOG.debug("Error occurred before polling " + consumer + ". This exception will be ignored.", e);
             }
         }
         return timeout;
@@ -210,7 +214,7 @@ public class EventDrivenPollingConsumer extends PollingConsumerSupport implement
             try {
                 strategy.afterPoll();
             } catch (Exception e) {
-                log.debug("Error occurred after polling " + consumer + ". This exception will be ignored.", e);
+                LOG.debug("Error occurred after polling " + consumer + ". This exception will be ignored.", e);
             }
         }
     }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java b/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java
index a100781..2c3d93e 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java
@@ -84,7 +84,6 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route
      */
     public void startConsumer(Consumer consumer) throws Exception {
         ServiceHelper.startService(consumer);
-        log.debug("Started consumer {}", consumer);
     }
 
     /**
@@ -96,7 +95,6 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route
     public void stopConsumer(Consumer consumer) throws Exception {
         // stop and shutdown
         ServiceHelper.stopAndShutdownServices(consumer);
-        log.debug("Stopped consumer {}", consumer);
     }
 
     /**
@@ -109,13 +107,7 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route
      * @return <tt>true</tt> if the consumer was suspended or stopped, <tt>false</tt> if the consumer was already suspend or stopped
      */
     public boolean suspendOrStopConsumer(Consumer consumer) throws Exception {
-        boolean suspended = ServiceHelper.suspendService(consumer);
-        if (suspended) {
-            log.debug("Suspended consumer {}", consumer);
-        } else {
-            log.trace("Consumer already suspended {}", consumer);
-        }
-        return suspended;
+        return ServiceHelper.suspendService(consumer);
     }
 
     /**
@@ -128,13 +120,7 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route
      * @return <tt>true</tt> if the consumer was resumed or started, <tt>false</tt> if the consumer was already resumed or started
      */
     public boolean resumeOrStartConsumer(Consumer consumer) throws Exception {
-        boolean resumed = ServiceHelper.resumeService(consumer);
-        if (resumed) {
-            log.debug("Resumed consumer {}", consumer);
-        } else {
-            log.trace("Consumer already resumed {}", consumer);
-        }
-        return resumed;
+        return ServiceHelper.resumeService(consumer);
     }
 
     public void startRoute(Route route) throws Exception {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ScheduledBatchPollingConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/ScheduledBatchPollingConsumer.java
index 4ca2e5a..df28620 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/ScheduledBatchPollingConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/ScheduledBatchPollingConsumer.java
@@ -24,12 +24,16 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.ShutdownRunningTask;
 import org.apache.camel.spi.ShutdownAware;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A useful base class for any consumer which is polling batch based
  */
 public abstract class ScheduledBatchPollingConsumer extends ScheduledPollConsumer implements BatchConsumer, ShutdownAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ScheduledBatchPollingConsumer.class);
+
     protected volatile ShutdownRunningTask shutdownRunningTask;
     protected volatile int pendingExchanges;
     protected int maxMessagesPerPoll;
@@ -65,7 +69,7 @@ public abstract class ScheduledBatchPollingConsumer extends ScheduledPollConsume
             // in the processBatch method and until an exchange gets enlisted as in-flight
             // which happens later, so we need to signal back to the shutdown strategy that
             // there is a pending exchange. When we are no longer polling, then we will return 0
-            log.trace("Currently polling so returning 1 as pending exchanges");
+            LOG.trace("Currently polling so returning 1 as pending exchanges");
             answer = 1;
         }
 
@@ -119,7 +123,7 @@ public abstract class ScheduledBatchPollingConsumer extends ScheduledPollConsume
         exchange.setProperty(Exchange.BATCH_INDEX, 0);
         exchange.setProperty(Exchange.BATCH_SIZE, 1);
         exchange.setProperty(Exchange.BATCH_COMPLETE, true);
-        log.debug("Sending empty message as there were no messages from polling: {}", this.getEndpoint());
+        LOG.debug("Sending empty message as there were no messages from polling: {}", this.getEndpoint());
         getProcessor().process(exchange);
     }
 }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java
index 77e53ee..4414ede 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/ScheduledPollConsumer.java
@@ -33,12 +33,16 @@ import org.apache.camel.spi.PollingConsumerPollStrategy;
 import org.apache.camel.spi.ScheduledPollConsumerScheduler;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A useful base class for any consumer which is polling based
  */
 public abstract class ScheduledPollConsumer extends DefaultConsumer implements Runnable, Suspendable, PollingConsumerPollingStrategy {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ScheduledPollConsumer.class);
+
     private ScheduledPollConsumerScheduler scheduler;
     private ScheduledExecutorService scheduledExecutorService;
 
@@ -87,15 +91,15 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
         try {
             // log starting
             if (LoggingLevel.ERROR == runLoggingLevel) {
-                log.error("Scheduled task started on:   {}", this.getEndpoint());
+                LOG.error("Scheduled task started on:   {}", this.getEndpoint());
             } else if (LoggingLevel.WARN == runLoggingLevel) {
-                log.warn("Scheduled task started on:   {}", this.getEndpoint());
+                LOG.warn("Scheduled task started on:   {}", this.getEndpoint());
             } else if (LoggingLevel.INFO == runLoggingLevel) {
-                log.info("Scheduled task started on:   {}", this.getEndpoint());
+                LOG.info("Scheduled task started on:   {}", this.getEndpoint());
             } else if (LoggingLevel.DEBUG == runLoggingLevel) {
-                log.debug("Scheduled task started on:   {}", this.getEndpoint());
+                LOG.debug("Scheduled task started on:   {}", this.getEndpoint());
             } else {
-                log.trace("Scheduled task started on:   {}", this.getEndpoint());
+                LOG.trace("Scheduled task started on:   {}", this.getEndpoint());
             }
 
             // execute scheduled task
@@ -103,26 +107,26 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
 
             // log completed
             if (LoggingLevel.ERROR == runLoggingLevel) {
-                log.error("Scheduled task completed on: {}", this.getEndpoint());
+                LOG.error("Scheduled task completed on: {}", this.getEndpoint());
             } else if (LoggingLevel.WARN == runLoggingLevel) {
-                log.warn("Scheduled task completed on: {}", this.getEndpoint());
+                LOG.warn("Scheduled task completed on: {}", this.getEndpoint());
             } else if (LoggingLevel.INFO == runLoggingLevel) {
-                log.info("Scheduled task completed on: {}", this.getEndpoint());
+                LOG.info("Scheduled task completed on: {}", this.getEndpoint());
             } else if (LoggingLevel.DEBUG == runLoggingLevel) {
-                log.debug("Scheduled task completed on: {}", this.getEndpoint());
+                LOG.debug("Scheduled task completed on: {}", this.getEndpoint());
             } else {
-                log.trace("Scheduled task completed on: {}", this.getEndpoint());
+                LOG.trace("Scheduled task completed on: {}", this.getEndpoint());
             }
 
         } catch (Error e) {
             // must catch Error, to ensure the task is re-scheduled
-            log.error("Error occurred during running scheduled task on: " + this.getEndpoint() + ", due: " + e.getMessage(), e);
+            LOG.error("Error occurred during running scheduled task on: " + this.getEndpoint() + ", due: " + e.getMessage(), e);
         }
     }
 
     private void doRun() {
         if (isSuspended()) {
-            log.trace("Cannot start to poll: {} as its suspended", this.getEndpoint());
+            LOG.trace("Cannot start to poll: {} as its suspended", this.getEndpoint());
             return;
         }
 
@@ -134,9 +138,9 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
             if (backoffCounter++ < backoffMultiplier) {
                 // yes we should backoff
                 if (idleCounter > 0) {
-                    log.debug("doRun() backoff due subsequent {} idles (backoff at {}/{})", idleCounter, backoffCounter, backoffMultiplier);
+                    LOG.debug("doRun() backoff due subsequent {} idles (backoff at {}/{})", idleCounter, backoffCounter, backoffMultiplier);
                 } else {
-                    log.debug("doRun() backoff due subsequent {} errors (backoff at {}/{})", errorCounter, backoffCounter, backoffMultiplier);
+                    LOG.debug("doRun() backoff due subsequent {} errors (backoff at {}/{})", errorCounter, backoffCounter, backoffMultiplier);
                 }
                 return;
             } else {
@@ -144,14 +148,14 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
                 idleCounter = 0;
                 errorCounter = 0;
                 backoffCounter = 0;
-                log.trace("doRun() backoff finished, resetting counters.");
+                LOG.trace("doRun() backoff finished, resetting counters.");
             }
         }
 
         long count = counter.incrementAndGet();
         boolean stopFire = repeatCount > 0 && count > repeatCount;
         if (stopFire) {
-            log.debug("Cancelling {} scheduler as repeat count limit reached after {} counts.", getEndpoint(), repeatCount);
+            LOG.debug("Cancelling {} scheduler as repeat count limit reached after {} counts.", getEndpoint(), repeatCount);
             scheduler.unscheduleTask();
             return;
         }
@@ -169,9 +173,9 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
                 if (isPollAllowed()) {
 
                     if (retryCounter == -1) {
-                        log.trace("Starting to poll: {}", this.getEndpoint());
+                        LOG.trace("Starting to poll: {}", this.getEndpoint());
                     } else {
-                        log.debug("Retrying attempt {} to poll: {}", retryCounter, this.getEndpoint());
+                        LOG.debug("Retrying attempt {} to poll: {}", retryCounter, this.getEndpoint());
                     }
 
                     // mark we are polling which should also include the begin/poll/commit
@@ -181,7 +185,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
                         if (begin) {
                             retryCounter++;
                             polledMessages = poll();
-                            log.trace("Polled {} messages", polledMessages);
+                            LOG.trace("Polled {} messages", polledMessages);
 
                             if (polledMessages == 0 && isSendEmptyMessageWhenIdle()) {
                                 // send an "empty" exchange
@@ -193,17 +197,17 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
                             if (polledMessages > 0 && isGreedy()) {
                                 done = false;
                                 retryCounter = -1;
-                                log.trace("Greedy polling after processing {} messages", polledMessages);
+                                LOG.trace("Greedy polling after processing {} messages", polledMessages);
                             }
                         } else {
-                            log.debug("Cannot begin polling as pollStrategy returned false: {}", pollStrategy);
+                            LOG.debug("Cannot begin polling as pollStrategy returned false: {}", pollStrategy);
                         }
                     } finally {
                         polling = false;
                     }
                 }
 
-                log.trace("Finished polling: {}", this.getEndpoint());
+                LOG.trace("Finished polling: {}", this.getEndpoint());
             } catch (Exception e) {
                 try {
                     boolean retry = pollStrategy.rollback(this, getEndpoint(), retryCounter, e);
@@ -230,7 +234,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
                     getExceptionHandler().handleException("Consumer " + this + " failed polling endpoint: " + getEndpoint()
                             + ". Will try again at next poll", cause);
                 } catch (Throwable e) {
-                    log.warn("Error handling exception. This exception will be ignored.", e);
+                    LOG.warn("Error handling exception. This exception will be ignored.", e);
                 }
             }
         }
@@ -242,7 +246,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
             idleCounter = polledMessages == 0 ? ++idleCounter : 0;
             errorCounter = 0;
         }
-        log.trace("doRun() done with idleCounter={}, errorCounter={}", idleCounter, errorCounter);
+        LOG.trace("doRun() done with idleCounter={}, errorCounter={}", idleCounter, errorCounter);
 
         // avoid this thread to throw exceptions because the thread pool wont re-schedule a new thread
     }
@@ -254,7 +258,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
      */
     protected void processEmptyMessage() throws Exception {
         Exchange exchange = getEndpoint().createExchange();
-        log.debug("Sending empty message as there were no messages from polling: {}", this.getEndpoint());
+        LOG.debug("Sending empty message as there were no messages from polling: {}", this.getEndpoint());
         getProcessor().process(exchange);
     }
 
@@ -428,7 +432,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
             if (backoffIdleThreshold <= 0 && backoffErrorThreshold <= 0) {
                 throw new IllegalArgumentException("backoffIdleThreshold and/or backoffErrorThreshold must be configured to a positive value when using backoffMultiplier");
             }
-            log.debug("Using backoff[multiplier={}, idleThreshold={}, errorThreshold={}] on {}", backoffMultiplier, backoffIdleThreshold, backoffErrorThreshold, getEndpoint());
+            LOG.debug("Using backoff[multiplier={}, idleThreshold={}, errorThreshold={}] on {}", backoffMultiplier, backoffIdleThreshold, backoffErrorThreshold, getEndpoint());
         }
 
         if (scheduler == null) {
@@ -517,7 +521,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
 
     @Override
     public long beforePoll(long timeout) throws Exception {
-        log.trace("Before poll {}", getEndpoint());
+        LOG.trace("Before poll {}", getEndpoint());
         // resume or start our self
         if (!ServiceHelper.resumeService(this)) {
             ServiceHelper.startService(this);
@@ -529,7 +533,7 @@ public abstract class ScheduledPollConsumer extends DefaultConsumer implements R
 
     @Override
     public void afterPoll() throws Exception {
-        log.trace("After poll {}", getEndpoint());
+        LOG.trace("After poll {}", getEndpoint());
         // suspend or stop our self
         if (!ServiceHelper.suspendService(this)) {
             ServiceHelper.stopService(this);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java b/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
index ff92826..8740722 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/cluster/AbstractCamelClusterService.java
@@ -31,9 +31,13 @@ import org.apache.camel.cluster.CamelClusterView;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ReferenceCount;
 import org.apache.camel.util.concurrent.LockHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class AbstractCamelClusterService<T extends CamelClusterView> extends ServiceSupport implements CamelClusterService {
 
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractCamelClusterService.class);
+
     private final Map<String, ViewHolder<T>> views;
     private final Map<String, Object> attributes;
     private final StampedLock lock;
@@ -190,10 +194,10 @@ public abstract class AbstractCamelClusterService<T extends CamelClusterView> ex
                 ViewHolder<T> holder = views.get(namespace);
 
                 if (holder != null) {
-                    log.info("Force start of view {}", namespace);
+                    LOG.info("Force start of view {}", namespace);
                     holder.startView();
                 } else {
-                    log.warn("Error forcing start of view {}: it does not exist", namespace);
+                    LOG.warn("Error forcing start of view {}: it does not exist", namespace);
                 }
             }
         );
@@ -207,10 +211,10 @@ public abstract class AbstractCamelClusterService<T extends CamelClusterView> ex
                 ViewHolder<T> holder = views.get(namespace);
 
                 if (holder != null) {
-                    log.info("Force stop of view {}", namespace);
+                    LOG.info("Force stop of view {}", namespace);
                     holder.stopView();
                 } else {
-                    log.warn("Error forcing stop of view {}: it does not exist", namespace);
+                    LOG.warn("Error forcing stop of view {}: it does not exist", namespace);
                 }
             }
         );
@@ -272,7 +276,7 @@ public abstract class AbstractCamelClusterService<T extends CamelClusterView> ex
         }
 
         V retain() {
-            log.debug("Retain view {}, old-refs={}", view.getNamespace(), count.get());
+            LOG.debug("Retain view {}, old-refs={}", view.getNamespace(), count.get());
 
             count.retain();
 
@@ -280,22 +284,22 @@ public abstract class AbstractCamelClusterService<T extends CamelClusterView> ex
         }
 
         void release() {
-            log.debug("Release view {}, old-refs={}", view.getNamespace(), count.get());
+            LOG.debug("Release view {}, old-refs={}", view.getNamespace(), count.get());
 
             count.release();
         }
 
         void startView() throws Exception {
             if (AbstractCamelClusterService.this.isRunAllowed()) {
-                log.debug("Start view {}", view.getNamespace());
+                LOG.debug("Start view {}", view.getNamespace());
                 view.start();
             } else {
-                log.debug("Can't start view {} as cluster service is not running, view will be started on service start-up", view.getNamespace());
+                LOG.debug("Can't start view {} as cluster service is not running, view will be started on service start-up", view.getNamespace());
             }
         }
 
         void stopView() throws Exception {
-            log.debug("Stop view {}", view.getNamespace());
+            LOG.debug("Stop view {}", view.getNamespace());
             view.stop();
         }
     }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/management/DefaultManagementMBeanAssembler.java b/core/camel-support/src/main/java/org/apache/camel/support/management/DefaultManagementMBeanAssembler.java
index 448d8e1..1234733 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/management/DefaultManagementMBeanAssembler.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/management/DefaultManagementMBeanAssembler.java
@@ -32,6 +32,8 @@ import org.apache.camel.spi.ManagementMBeanAssembler;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * An assembler to assemble a {@link javax.management.modelmbean.ModelMBean} which can be used
@@ -40,6 +42,8 @@ import org.apache.camel.util.ObjectHelper;
  */
 public class DefaultManagementMBeanAssembler extends ServiceSupport implements ManagementMBeanAssembler {
 
+    private static final Logger LOG = LoggerFactory.getLogger(DefaultManagementMBeanAssembler.class);
+
     protected final MBeanInfoAssembler assembler;
     protected final CamelContext camelContext;
 
@@ -59,7 +63,7 @@ public class DefaultManagementMBeanAssembler extends ServiceSupport implements M
             // there may be a custom embedded instance which have additional methods
             custom = ((ManagedInstance) obj).getInstance();
             if (custom != null && ObjectHelper.hasAnnotation(custom.getClass().getAnnotations(), ManagedResource.class)) {
-                log.trace("Assembling MBeanInfo for: {} from custom @ManagedResource object: {}", name, custom);
+                LOG.trace("Assembling MBeanInfo for: {} from custom @ManagedResource object: {}", name, custom);
                 // get the mbean info into different groups (mbi = both, standard = standard out of the box mbi)
                 mbi = assembler.getMBeanInfo(camelContext, obj, custom, name.toString());
                 standardMbi = assembler.getMBeanInfo(camelContext, obj, null, name.toString());
@@ -68,7 +72,7 @@ public class DefaultManagementMBeanAssembler extends ServiceSupport implements M
 
         if (mbi == null) {
             // use the default provided mbean which has been annotated with JMX annotations
-            log.trace("Assembling MBeanInfo for: {} from @ManagedResource object: {}", name, obj);
+            LOG.trace("Assembling MBeanInfo for: {} from @ManagedResource object: {}", name, obj);
             mbi = assembler.getMBeanInfo(camelContext, obj, null, name.toString());
         }
 
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
index 1656688..0a1f57a 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java
@@ -29,6 +29,8 @@ import org.apache.camel.spi.LogListener;
 import org.apache.camel.spi.MaskingFormatter;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A {@link Processor} which just logs to a {@link CamelLogger} object which can be used
@@ -39,6 +41,8 @@ import org.apache.camel.support.AsyncProcessorSupport;
  */
 public class CamelLogProcessor extends AsyncProcessorSupport implements IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(CamelLogProcessor.class);
+
     private String id;
     private String routeId;
     private CamelLogger logger;
@@ -137,9 +141,9 @@ public class CamelLogProcessor extends AsyncProcessorSupport implements IdAware,
                 String output = listener.onLog(exchange, logger, message);
                 message = output != null ? output : message;
             } catch (Throwable t) {
-                log.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
-                if (log.isDebugEnabled()) {
-                    log.debug("", t);
+                LOG.warn("Ignoring an exception thrown by {}: {}", listener.getClass().getName(), t.getMessage());
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("", t);
                 }
             }
         }
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/ThroughputLogger.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/ThroughputLogger.java
index fd5ae95..bbfab8c 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/processor/ThroughputLogger.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/ThroughputLogger.java
@@ -30,12 +30,16 @@ import org.apache.camel.spi.IdAware;
 import org.apache.camel.spi.RouteIdAware;
 import org.apache.camel.support.AsyncProcessorSupport;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A logger for logging message throughput.
  */
 public class ThroughputLogger extends AsyncProcessorSupport implements AsyncProcessor, IdAware, RouteIdAware {
 
+    private static final Logger LOG = LoggerFactory.getLogger(ThroughputLogger.class);
+
     private String id;
     private String routeId;
     private final AtomicInteger receivedCounter = new AtomicInteger();
@@ -209,7 +213,7 @@ public class ThroughputLogger extends AsyncProcessorSupport implements AsyncProc
 
             logSchedulerService = camelContext.getExecutorServiceManager().newSingleThreadScheduledExecutor(this, "ThroughputLogger");
             Runnable scheduledLogTask = new ScheduledLogTask();
-            log.info("Scheduling throughput logger to run every {} millis.", groupInterval);
+            LOG.info("Scheduling throughput logger to run every {} millis.", groupInterval);
             // must use fixed rate to have it trigger at every X interval
             logSchedulerService.scheduleAtFixedRate(scheduledLogTask, groupDelay, groupInterval, TimeUnit.MILLISECONDS);
         }
@@ -249,7 +253,7 @@ public class ThroughputLogger extends AsyncProcessorSupport implements AsyncProc
         public void run() {
             // only run if CamelContext has been fully started
             if (!camelContext.getStatus().isStarted()) {
-                log.trace("ThroughputLogger cannot start because CamelContext({}) has not been started yet", camelContext.getName());
+                LOG.trace("ThroughputLogger cannot start because CamelContext({}) has not been started yet", camelContext.getName());
                 return;
             }
 
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/idempotent/FileIdempotentRepository.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/idempotent/FileIdempotentRepository.java
index f4d5527..e309219 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/processor/idempotent/FileIdempotentRepository.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/idempotent/FileIdempotentRepository.java
@@ -36,6 +36,8 @@ import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.Scanner;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A file based implementation of {@link org.apache.camel.spi.IdempotentRepository}.
@@ -51,6 +53,8 @@ import org.apache.camel.util.Scanner;
 @ManagedResource(description = "File based idempotent repository")
 public class FileIdempotentRepository extends ServiceSupport implements IdempotentRepository {
 
+    private static final Logger LOG = LoggerFactory.getLogger(FileIdempotentRepository.class);
+
     private static final String STORE_DELIMITER = "\n";
 
     private final AtomicBoolean init = new AtomicBoolean();
@@ -140,7 +144,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
 
                 // check if we hit maximum capacity (if enabled) and report a warning about this
                 if (maxFileStoreSize > 0 && fileStore.length() > maxFileStoreSize) {
-                    log.warn("Maximum capacity of file store: {} hit at {} bytes. Dropping {} oldest entries from the file store", fileStore, maxFileStoreSize, dropOldestFileStore);
+                    LOG.warn("Maximum capacity of file store: {} hit at {} bytes. Dropping {} oldest entries from the file store", fileStore, maxFileStoreSize, dropOldestFileStore);
                     trunkStore();
                 }
 
@@ -310,17 +314,17 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
      * @param key  the key
      */
     protected void appendToStore(final String key) {
-        log.debug("Appending: {} to idempotent filestore: {}", key, fileStore);
+        LOG.debug("Appending: {} to idempotent filestore: {}", key, fileStore);
         FileOutputStream fos = null;
         try {
             // create store parent directory if missing
             File storeParentDirectory = fileStore.getParentFile();
             if (storeParentDirectory != null && !storeParentDirectory.exists()) {
-                log.info("Parent directory of file store {} doesn't exist. Creating.", fileStore);
+                LOG.info("Parent directory of file store {} doesn't exist. Creating.", fileStore);
                 if (fileStore.getParentFile().mkdirs()) {
-                    log.info("Parent directory of filestore: {} successfully created.", fileStore);
+                    LOG.info("Parent directory of filestore: {} successfully created.", fileStore);
                 } else {
-                    log.warn("Parent directory of filestore: {} cannot be created.", fileStore);
+                    LOG.warn("Parent directory of filestore: {} cannot be created.", fileStore);
                 }
             }
             // create store if missing
@@ -334,12 +338,12 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
         } catch (IOException e) {
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         } finally {
-            IOHelper.close(fos, "Appending to file idempotent repository", log);
+            IOHelper.close(fos, "Appending to file idempotent repository", LOG);
         }
     }
 
     protected synchronized void removeFromStore(String key) {
-        log.debug("Removing: {} from idempotent filestore: {}", key, fileStore);
+        LOG.debug("Removing: {} from idempotent filestore: {}", key, fileStore);
 
         // we need to re-load the entire file and remove the key and then re-write the file
         List<String> lines = new ArrayList<>();
@@ -362,7 +366,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
 
         if (found) {
             // rewrite file
-            log.debug("Rewriting idempotent filestore: {} due to key: {} removed", fileStore, key);
+            LOG.debug("Rewriting idempotent filestore: {} due to key: {} removed", fileStore, key);
             FileOutputStream fos = null;
             try {
                 fos = new FileOutputStream(fileStore);
@@ -373,7 +377,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
             } catch (IOException e) {
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             } finally {
-                IOHelper.close(fos, "Rewriting file idempotent repository", log);
+                IOHelper.close(fos, "Rewriting file idempotent repository", LOG);
             }
         }
     }
@@ -398,7 +402,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
             return;
         }
 
-        log.debug("Trunking: {} oldest entries from idempotent filestore: {}", dropOldestFileStore, fileStore);
+        LOG.debug("Trunking: {} oldest entries from idempotent filestore: {}", dropOldestFileStore, fileStore);
 
         // we need to re-load the entire file and remove the key and then re-write the file
         List<String> lines = new ArrayList<>();
@@ -420,7 +424,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
 
         if (!lines.isEmpty()) {
             // rewrite file
-            log.debug("Rewriting idempotent filestore: {} with {} entries:", fileStore, lines.size());
+            LOG.debug("Rewriting idempotent filestore: {} with {} entries:", fileStore, lines.size());
             FileOutputStream fos = null;
             try {
                 fos = new FileOutputStream(fileStore);
@@ -431,11 +435,11 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
             } catch (IOException e) {
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             } finally {
-                IOHelper.close(fos, "Rewriting file idempotent repository", log);
+                IOHelper.close(fos, "Rewriting file idempotent repository", LOG);
             }
         } else {
             // its a small file so recreate the file
-            log.debug("Clearing idempotent filestore: {}", fileStore);
+            LOG.debug("Clearing idempotent filestore: {}", fileStore);
             clearStore();
         }
     }
@@ -456,7 +460,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
     protected void loadStore() throws IOException {
         // auto create starting directory if needed
         if (!fileStore.exists()) {
-            log.debug("Creating filestore: {}", fileStore);
+            LOG.debug("Creating filestore: {}", fileStore);
             File parent = fileStore.getParentFile();
             if (parent != null) {
                 parent.mkdirs();
@@ -467,7 +471,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
             }
         }
 
-        log.trace("Loading to 1st level cache from idempotent filestore: {}", fileStore);
+        LOG.trace("Loading to 1st level cache from idempotent filestore: {}", fileStore);
 
         cache.clear();
         try (Scanner scanner = new Scanner(fileStore, null, STORE_DELIMITER)) {
@@ -479,7 +483,7 @@ public class FileIdempotentRepository extends ServiceSupport implements Idempote
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
         }
 
-        log.debug("Loaded {} to the 1st level cache from idempotent filestore: {}", cache.size(), fileStore);
+        LOG.debug("Loaded {} to the 1st level cache from idempotent filestore: {}", cache.size(), fileStore);
     }
 
     @Override