Author: ceki
Date: Thu Dec  4 18:16:01 2008
New Revision: 2054

Modified:
   
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java
   
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
   
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerContextTest.java

Log:

Fixes LBCLASSIC-90. Logger reset set logger levels to NULL, except for the root 
logger which gets set to DEBUG.



Modified: 
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java
==============================================================================
--- 
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java  
    (original)
+++ 
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java  
    Thu Dec  4 18:16:01 2008
@@ -320,8 +320,18 @@
     return childLogger;
   }
 
+  private void localLevelReset() {
+    effectiveLevelInt = DEBUG_INT;
+    if(isRootLogger()) {
+      level = Level.DEBUG;
+    } else {
+      level = null;
+    }
+  }
+  
   void recursiveReset() {
     detachAndStopAllAppenders();
+    localLevelReset();
     additive = true;
     if (childrenList == null) {
       return;

Modified: 
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
==============================================================================
--- 
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
       (original)
+++ 
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
       Thu Dec  4 18:16:01 2008
@@ -200,6 +200,7 @@
     resetStatusListeners();
   }
 
+  
   private void resetStatusListeners() {
     StatusManager sm = getStatusManager();
     for (StatusListener sl : sm.getCopyOfStatusListenerList()) {

Modified: 
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerContextTest.java
==============================================================================
--- 
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerContextTest.java
   (original)
+++ 
logback/trunk/logback-classic/src/test/java/ch/qos/logback/classic/LoggerContextTest.java
   Thu Dec  4 18:16:01 2008
@@ -152,4 +152,24 @@
         sm.getCount() == 1);
   }
 
+  
+  @Test
+  public void resetTest() {
+
+    Logger root = lc.getLogger(LoggerContext.ROOT_NAME);
+    Logger a = lc.getLogger("a");
+    Logger ab = lc.getLogger("a.b");
+
+    ab.setLevel(Level.WARN);
+    root.setLevel(Level.INFO);
+    lc.reset();
+    assertEquals(Level.DEBUG, root.getEffectiveLevel());
+    assertEquals(Level.DEBUG, a.getEffectiveLevel());
+    assertEquals(Level.DEBUG, ab.getEffectiveLevel());
+    
+    assertEquals(Level.DEBUG, root.getLevel());    
+    assertNull(a.getLevel());
+    assertNull(ab.getLevel());
+
+  }
 }
\ No newline at end of file
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to