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 2015/09/20 10:25:26 UTC

[08/12] logging-log4j2 git commit: LOG4J2-1121 bugfixes

LOG4J2-1121 bugfixes

- Unconditional waiting strategy sleep time must be non-zero
- Make unconditional wait time user-configurable
- AwaitCompletionReliabilityStrategy only accepts non-null LoggerConfig

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

Branch: refs/heads/master
Commit: 3825b08615446c0ca014d0e8415cdd0a5e022dd2
Parents: d524ef3
Author: rpopma <rp...@apache.org>
Authored: Sun Sep 20 14:09:57 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Sep 20 14:09:57 2015 +0900

----------------------------------------------------------------------
 .../core/config/AwaitCompletionReliabilityStrategy.java     | 3 ++-
 .../config/AwaitUnconditionallyReliabilityStrategy.java     | 9 ++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3825b086/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java
index 90a1108..4251cfa 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java
@@ -17,6 +17,7 @@
 
 package org.apache.logging.log4j.core.config;
 
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -43,7 +44,7 @@ public class AwaitCompletionReliabilityStrategy implements ReliabilityStrategy {
     private final LoggerConfig loggerConfig;
 
     public AwaitCompletionReliabilityStrategy(final LoggerConfig loggerConfig) {
-        this.loggerConfig = loggerConfig;
+        this.loggerConfig = Objects.requireNonNull(loggerConfig, "loggerConfig is null");
     }
 
     /* (non-Javadoc)

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3825b086/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java
index 5f8c204..750af31 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java
@@ -24,6 +24,7 @@ import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.message.Message;
 import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.PropertiesUtil;
 import org.apache.logging.log4j.util.Supplier;
 
 /**
@@ -31,12 +32,18 @@ import org.apache.logging.log4j.util.Supplier;
  */
 public class AwaitUnconditionallyReliabilityStrategy implements ReliabilityStrategy {
 
-    private static final long SLEEP_MILLIS = 0;
+    private static final long DEFAULT_SLEEP_MILLIS = 5000; // 5 seconds
+    private static final long SLEEP_MILLIS = sleepMillis();
     private final LoggerConfig loggerConfig;
 
     public AwaitUnconditionallyReliabilityStrategy(final LoggerConfig loggerConfig) {
         this.loggerConfig = Objects.requireNonNull(loggerConfig, "loggerConfig is null");
     }
+    
+    private static long sleepMillis() {
+        return PropertiesUtil.getProperties().getLongProperty("log4j.waitMillisBeforeStopOldConfig",
+                DEFAULT_SLEEP_MILLIS);
+    }
 
     /*
      * (non-Javadoc)