Author: fmeschbe
Date: Thu Jun 12 23:12:36 2008
New Revision: 667371

URL: http://svn.apache.org/viewvc?rev=667371&view=rev
Log:
SLING-529 Fix inability to apply global configuration

Modified:
    
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/LogManager.java
    
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/slf4j/LogConfigManager.java

Modified: 
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/LogManager.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/LogManager.java?rev=667371&r1=667370&r2=667371&view=diff
==============================================================================
--- 
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/LogManager.java
 (original)
+++ 
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/LogManager.java
 Thu Jun 12 23:12:36 2008
@@ -150,9 +150,6 @@
             }
         }
 
-        // only configure the root logger with bundle context properties !
-        config.put(LOG_LOGGERS, LogConfigManager.ROOT);
-
         return config;
     }
 
@@ -172,10 +169,16 @@
         public void updated(Dictionary properties)
                 throws ConfigurationException { // unchecked
 
+            // fallback to start default settings when the config is deleted
             if (properties == null) {
                 properties = defaultConfiguration;
             }
+            
+            // set the logger name to a special value to indicate the global
+            // (ROOT) logger setting (SLING-529)
+            properties.put(LOG_LOGGERS, LogConfigManager.ROOT);
 
+            // update the default log writer and logger configuration
             logConfigManager.updateLogWriter(PID, properties);
             logConfigManager.updateLoggerConfiguration(PID, properties);
         }

Modified: 
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/slf4j/LogConfigManager.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/slf4j/LogConfigManager.java?rev=667371&r1=667370&r2=667371&view=diff
==============================================================================
--- 
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/slf4j/LogConfigManager.java
 (original)
+++ 
incubator/sling/trunk/commons/log/src/main/java/org/apache/sling/commons/log/slf4j/LogConfigManager.java
 Thu Jun 12 23:12:36 2008
@@ -584,6 +584,16 @@
             return null;
         }
 
+        // prepare set of names (used already in case loggers == ROOT)
+        Set<String> loggerNames = new HashSet<String>();
+
+        // in case of the special setting ROOT, return a set of just the
+        // root logger name (SLING-529)
+        if (loggers == ROOT) {
+            loggerNames.add(ROOT);
+            return loggerNames;
+        }
+
         // convert the loggers object to an array
         Object[] loggersArray;
         if (loggers.getClass().isArray()) {
@@ -596,7 +606,6 @@
 
         // conver the array of potentially comma-separated logger names
         // into the set of logger names
-        Set<String> loggerNames = new HashSet<String>();
         for (Object loggerObject : loggersArray) {
             if (loggerObject != null) {
                 String[] splitLoggers = loggerObject.toString().split(",");


Reply via email to