You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/03/16 14:38:22 UTC

[05/50] logging-log4j2 git commit: LOG4J2-1206 - org.apache.logging.log4j.core.LoggerContext#updateLoggers should call firePropertyChangeEvent

LOG4J2-1206 - org.apache.logging.log4j.core.LoggerContext#updateLoggers should call firePropertyChangeEvent


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2ccf95d7
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2ccf95d7
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2ccf95d7

Branch: refs/heads/LOG4J2-1278-gc-free-logger
Commit: 2ccf95d7c4696f19e23749188bb16578456a4be8
Parents: c6318b6
Author: Matt Sicker <bo...@gmail.com>
Authored: Tue Mar 8 11:37:32 2016 -0600
Committer: Matt Sicker <bo...@gmail.com>
Committed: Tue Mar 8 11:37:32 2016 -0600

----------------------------------------------------------------------
 .../org/apache/logging/log4j/core/LoggerContext.java |  2 ++
 .../apache/logging/log4j/core/LoggerUpdateTest.java  | 15 +++++++++++++++
 src/changes/changes.xml                              |  3 +++
 3 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2ccf95d7/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
index cb78fe4..3937805 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/LoggerContext.java
@@ -595,9 +595,11 @@ public class LoggerContext extends AbstractLifeCycle implements org.apache.loggi
      * @param config The Configuration.
      */
     public void updateLoggers(final Configuration config) {
+        final Configuration old = this.configuration;
         for (final Logger logger : loggers.values()) {
             logger.updateConfiguration(config);
         }
+        firePropertyChangeEvent(new PropertyChangeEvent(this, PROPERTY_CONFIG, old, config));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2ccf95d7/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
index fd9b0b0..eb698ab 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/LoggerUpdateTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.logging.log4j.core;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.util.List;
 
 import org.apache.logging.log4j.*;
@@ -64,5 +66,18 @@ public class LoggerUpdateTest {
         events = app.getEvents();
         assertEquals("Incorrect number of events. Expected 0, actual " + events.size(), 0, events.size());
     }
+
+    @Test
+    public void testUpdateLoggersPropertyListeners() throws Exception {
+        final LoggerContext ctx = context.getContext();
+        ctx.addPropertyChangeListener(new PropertyChangeListener() {
+            @Override
+            public void propertyChange(final PropertyChangeEvent evt) {
+                assertEquals(LoggerContext.PROPERTY_CONFIG, evt.getPropertyName());
+                assertSame(ctx, evt.getSource());
+            }
+        });
+        ctx.updateLoggers();
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2ccf95d7/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1313ac9..1895b0f 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -208,6 +208,9 @@
       <action issue="LOG4J2-1310" dev="mattsicker" type="fix">
         JndiLookup mindlessly casts to String and should use String.valueOf().
       </action>
+      <action issue="LOG4J2-1206" dev="mattsicker" type="update">
+        org.apache.logging.log4j.core.LoggerContext#updateLoggers should call firePropertyChangeEvent.
+      </action>
     </release>
     <release version="2.5" date="2015-12-06" description="GA Release 2.5">
       <action issue="LOG4J2-324" dev="rpopma" type="fix">