FELIX-6144 : Root logger context configuration is overwritten when ANY configuration changes. Apply patch from Jelle Nelis

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1865587 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/log/src/main/java/org/apache/felix/log/ConfigurationListenerImpl.java b/log/src/main/java/org/apache/felix/log/ConfigurationListenerImpl.java
index 9d60350..a90eb7c 100644
--- a/log/src/main/java/org/apache/felix/log/ConfigurationListenerImpl.java
+++ b/log/src/main/java/org/apache/felix/log/ConfigurationListenerImpl.java
@@ -42,6 +42,8 @@
     private static final String CONFIGURATION_ADMIN_CLASS = "org.osgi.service.cm.ConfigurationAdmin";
     private static final String CONFIGURATION_EVENT_CLASS = "org.osgi.service.cm.ConfigurationEvent";
     private static final String CONFIGURATION_LISTENER_CLASS = "org.osgi.service.cm.ConfigurationListener";
+    private static final String LOGGER_ADMIN_PID = "org.osgi.service.log.admin";
+    private static final String LOGGER_ADMIN_PID_PREFIX = LOGGER_ADMIN_PID + '|';
 
     /** ConfigurationAdmin tracker */
     final ServiceTracker<?, ?> m_cmtracker;
@@ -128,10 +130,13 @@
                     public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                         if (method.equals(m_clConfigurationEvent)) {
                             String pid = (String)m_ceGetPid.invoke(args[0]);
+                            if(!pid.startsWith(LOGGER_ADMIN_PID)) {
+                            	return null;
+                            }
                             String configName = null;
                             String location = "?";
-                            if (pid.startsWith("org.osgi.service.log.admin|")) {
-                                configName = pid.substring("org.osgi.service.log.admin|".length());
+                            if (pid.startsWith(LOGGER_ADMIN_PID_PREFIX)) {
+                                configName = pid.substring(LOGGER_ADMIN_PID_PREFIX.length());
                                 if (configName.contains("|") && (configName.split("|").length == 3)) {
                                     String[] parts = configName.split("|");
                                     location = parts[2];