add debug logging for initializing resource resolver factory and adapter manager
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java b/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
index 2518527..152053b 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
@@ -42,12 +42,15 @@
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.event.EventAdmin;
 import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Initializes Sling Resource Resolver factories with JCR-resource mapping.
  */
 class ResourceResolverFactoryInitializer {
 
+    private static final Logger log = LoggerFactory.getLogger(ResourceResolverFactoryInitializer.class);
+
     private ResourceResolverFactoryInitializer() {
         // static methods only
     }
@@ -162,8 +165,9 @@
             Class<?> interfaceClass = Class.forName(interfaceClassName);
             Class<?> implClass = Class.forName(implClassName);
             registerServiceIfNotPresent(bundleContext, (Class)interfaceClass, implClass.newInstance());
-        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
+        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex) {
             // ignore - probably not the latest sling models impl version
+            log.debug("registerServiceIfNotPresentByName: Skip registering {} ({}), bundleContext={}", implClassName, interfaceClassName, bundleContext);
         }
     }
 
@@ -192,6 +196,9 @@
         if (bundleContext.getServiceReference(serviceClass.getName()) == null) {
             MockOsgi.registerInjectActivateService(instance, bundleContext, config);
         }
+        else if (log.isDebugEnabled()) {
+            log.debug("registerServiceIfNotPresent: Skip registering {} ({}) because already present, bundleContext={}", instance.getClass(), serviceClass, bundleContext);
+        }
     }
 
     /**
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java b/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java
index 0342108..4329fa4 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java
@@ -26,6 +26,8 @@
 import org.jetbrains.annotations.NotNull;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Wrapper for {@link MockAdapterManager} which makes sure multiple unit tests
@@ -34,6 +36,8 @@
  */
 class ThreadsafeMockAdapterManagerWrapper implements AdapterManager {
 
+    private static final Logger log = LoggerFactory.getLogger(ThreadsafeMockAdapterManagerWrapper.class);
+
     private static final ThreadLocal<AdapterManagerBundleContextFactory> THREAD_LOCAL = new ThreadLocal<AdapterManagerBundleContextFactory>() {
         @Override
         protected AdapterManagerBundleContextFactory initialValue() {
@@ -71,6 +75,7 @@
         private BundleContext bundleContext;
 
         public void setBundleContext(@NotNull final BundleContext bundleContext) {
+            log.debug("Set bundle context for AdapterManager, bundleContext={}", bundleContext);
             this.bundleContext = bundleContext;
 
             // register adapter manager
@@ -88,11 +93,13 @@
         @SuppressWarnings("null")
         public synchronized AdapterManager getAdapterManager() {
             if (bundleContext == null) {
-                setBundleContext(MockOsgi.newBundleContext());
+                BundleContext newBundleContext = MockOsgi.newBundleContext();
+                log.warn("Create new bundle context for adapter manager because it was null, bundleContext={}", bundleContext);
+                setBundleContext(newBundleContext);
             }
             ServiceReference<AdapterManager> serviceReference = bundleContext.getServiceReference(AdapterManager.class);
             if (serviceReference != null) {
-                return (AdapterManager)bundleContext.getService(serviceReference);
+                return bundleContext.getService(serviceReference);
             }
             else {
                 throw new RuntimeException("AdapterManager not registered in bundle context.");
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/context/ContextResourceResolverFactory.java b/core/src/main/java/org/apache/sling/testing/mock/sling/context/ContextResourceResolverFactory.java
index 5b2be68..f4048dc 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/context/ContextResourceResolverFactory.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/context/ContextResourceResolverFactory.java
@@ -27,12 +27,16 @@
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.osgi.framework.BundleContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Create resolve resolver instance and initialize it depending on it's type.
  */
 final class ContextResourceResolverFactory {
 
+    private static final Logger log = LoggerFactory.getLogger(ContextResourceResolverFactory.class);
+
     private ContextResourceResolverFactory() {
         // static methods only
     }
@@ -44,6 +48,7 @@
             type = MockSling.DEFAULT_RESOURCERESOLVER_TYPE;
         }
         try {
+            log.debug("Start initialize resource resolver factory, bundleContext={}", bundleContext);
             ResourceResolverFactory factory = MockSling.newResourceResolverFactory(type, bundleContext);
 
             switch (type) {
@@ -63,8 +68,11 @@
                 throw new IllegalArgumentException("Invalid resource resolver type: " + type);
             }
 
+            log.debug("Finished initializing resource resolver factory, bundleContext={}", bundleContext);
+
             return factory;
         } catch (Throwable ex) {
+            log.error("Failed initializing resource resolver factory, bundleContext={}", bundleContext, ex);
             throw new RuntimeException("Unable to initialize " + type + " resource resolver factory: " + ex.getMessage(), ex);
         }
     }