You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ch...@apache.org on 2016/11/03 05:56:55 UTC

svn commit: r1767821 - /sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/logback/internal/LogbackManager.java

Author: chetanm
Date: Thu Nov  3 05:56:55 2016
New Revision: 1767821

URL: http://svn.apache.org/viewvc?rev=1767821&view=rev
Log:
SLING-6220 - [log] Perform initial configuration from framework properties synchronously

Apply patch from Felix with some modifications

Modified:
    sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/logback/internal/LogbackManager.java

Modified: sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/logback/internal/LogbackManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/logback/internal/LogbackManager.java?rev=1767821&r1=1767820&r2=1767821&view=diff
==============================================================================
--- sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/logback/internal/LogbackManager.java (original)
+++ sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/logback/internal/LogbackManager.java Thu Nov  3 05:56:55 2016
@@ -167,8 +167,13 @@ public class LogbackManager extends Logg
         registerWebConsoleSupport();
         registerEventHandler();
 
+        // initial configuration must be done synchronously (aka immediately)
+        addInfo("LogbackManager: BEGIN initial configuration");
+        failSafeConfigure();
+        addInfo("LogbackManager: END initialconfiguration");
+
+        // now open the gate for regular configuration
         started = true;
-        configChanged();
     }
 
     public void shutdown() {
@@ -258,11 +263,7 @@ public class LogbackManager extends Logg
             public void run() {
                 // TODO Might be better to run a job to monitor refreshRequirement
                 try {
-                    addInfo("Performing configuration");
-                    configure();
-                } catch (Exception e) {
-                    log.warn("Error occurred while re-configuring logger", e);
-                    addError("Error occurred while re-configuring logger", e);
+                    failSafeConfigure();
                 } finally {
                     resetLock.release();
                     addInfo("Re configuration done");
@@ -272,6 +273,16 @@ public class LogbackManager extends Logg
         });
     }
 
+    private void failSafeConfigure(){
+        try {
+            addInfo("Performing configuration");
+            configure();
+        } catch (Exception e) {
+            log.warn("Error occurred while re-configuring logger", e);
+            addError("Error occurred while re-configuring logger", e);
+        }
+    }
+
     public void fireResetCompleteListeners(){
         for(LogbackResetListener listener : resetListeners){
             addInfo("Firing reset listener - onResetComplete "+listener.getClass());