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());