You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/09/06 06:38:24 UTC
logging-log4j2 git commit: Propagate and use timeout values from
Configurator.shutdown(LoggerContext, long, TimeUnit).
Repository: logging-log4j2
Updated Branches:
refs/heads/master 433b84524 -> 9ba97f2fb
Propagate and use timeout values from
Configurator.shutdown(LoggerContext,long,TimeUnit).
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/9ba97f2f
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/9ba97f2f
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/9ba97f2f
Branch: refs/heads/master
Commit: 9ba97f2fbfafbfb17747152cfdb94f05237fa553
Parents: 433b845
Author: Gary Gregory <gg...@apache.org>
Authored: Tue Sep 6 02:38:16 2016 -0400
Committer: Gary Gregory <gg...@apache.org>
Committed: Tue Sep 6 02:38:16 2016 -0400
----------------------------------------------------------------------
.../org/apache/logging/log4j/core/AbstractLifeCycle.java | 6 ++++--
.../java/org/apache/logging/log4j/core/LoggerContext.java | 2 +-
.../log4j/core/appender/routing/RoutingAppender.java | 2 +-
.../logging/log4j/core/async/AsyncLoggerContext.java | 3 ++-
.../logging/log4j/core/config/AbstractConfiguration.java | 10 +++++-----
.../logging/log4j/core/filter/AbstractFilterable.java | 4 ++--
.../apache/logging/log4j/core/filter/CompositeFilter.java | 2 +-
.../apache/logging/log4j/core/net/server/JmsServer.java | 3 ++-
.../log4j/core/util/DefaultShutdownCallbackRegistry.java | 3 ++-
.../org/apache/logging/log4j/junit/LoggerContextRule.java | 8 +++++---
.../apache/logging/log4j/web/Log4jWebInitializerImpl.java | 2 +-
11 files changed, 26 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java
index 8c3c883..3fb15bf 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.core;
-import java.util.Objects;
import java.util.concurrent.TimeUnit;
import org.apache.logging.log4j.status.StatusLogger;
@@ -29,6 +28,9 @@ import org.apache.logging.log4j.status.StatusLogger;
*/
public class AbstractLifeCycle implements LifeCycle {
+ public static final int DEFAULT_STOP_TIMEOUT = -1;
+ public static final TimeUnit DEFAULT_STOP_TIMEUNIT = TimeUnit.MILLISECONDS;
+
/**
* Allow subclasses access to the status logger without creating another instance.
*/
@@ -121,7 +123,7 @@ public class AbstractLifeCycle implements LifeCycle {
@Override
public void stop() {
- stop(-1, TimeUnit.MILLISECONDS);
+ stop(DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT);
}
@Override
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/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 3fc7fb4..8575f01 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
@@ -325,7 +325,7 @@ public class LoggerContext extends AbstractLifeCycle
final Configuration prev = configuration;
configuration = NULL_CONFIGURATION;
updateLoggers();
- prev.stop();
+ prev.stop(timeout, timeUnit);
externalContext = null;
LogManager.getFactory().removeContext(this);
final String source = "LoggerContext \'" + getName() + "\'";
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
index 1909963..fbe431e 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
@@ -103,7 +103,7 @@ public final class RoutingAppender extends AbstractAppender {
for (final Map.Entry<String, AppenderControl> entry : appenders.entrySet()) {
final String name = entry.getValue().getAppender().getName();
if (!map.containsKey(name)) {
- entry.getValue().getAppender().stop();
+ entry.getValue().getAppender().stop(timeout, timeUnit);
}
}
setStopped();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
index 326faf3..68326f7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContext.java
@@ -101,7 +101,8 @@ public class AsyncLoggerContext extends LoggerContext {
@Override
public boolean stop(final long timeout, final TimeUnit timeUnit) {
setStopping();
- loggerDisruptor.stop(); // first stop Disruptor
+ // first stop Disruptor
+ loggerDisruptor.stop(timeout, timeUnit);
super.stop(timeout, timeUnit);
return true;
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index b165366..7a13bac 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -306,17 +306,17 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
if (!loggerConfigs.isEmpty()) {
LOGGER.trace("{} stopping {} LoggerConfigs.", cls, loggerConfigs.size());
for (final LoggerConfig logger : loggerConfigs.values()) {
- logger.stop();
+ logger.stop(timeout, timeUnit);
}
}
LOGGER.trace("{} stopping root LoggerConfig.", cls);
if (!root.isStopped()) {
- root.stop();
+ root.stop(timeout, timeUnit);
}
if (hasAsyncLoggers()) {
LOGGER.trace("{} stopping AsyncLoggerConfigDisruptor.", cls);
- asyncLoggerConfigDisruptor.stop();
+ asyncLoggerConfigDisruptor.stop(timeout, timeUnit);
}
// Stop the appenders in reverse order in case they still have activity.
@@ -326,7 +326,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
// LOG4J2-511, LOG4J2-392 stop AsyncAppenders first
LOGGER.trace("{} stopping {} AsyncAppenders.", cls, async.size());
for (final Appender appender : async) {
- appender.stop();
+ appender.stop(timeout, timeUnit);
}
}
@@ -340,7 +340,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
int appenderCount = 0;
for (int i = array.length - 1; i >= 0; --i) {
if (array[i].isStarted()) { // then stop remaining Appenders
- array[i].stop();
+ array[i].stop(timeout, timeUnit);
appenderCount++;
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/AbstractFilterable.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/AbstractFilterable.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/AbstractFilterable.java
index e12067e..81b8ea9 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/AbstractFilterable.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/AbstractFilterable.java
@@ -148,7 +148,7 @@ public abstract class AbstractFilterable extends AbstractLifeCycle implements Fi
public boolean stop(final long timeout, final TimeUnit timeUnit) {
this.setStopping();
if (filter != null) {
- filter.stop();
+ filter.stop(timeout, timeUnit);
}
this.setStopped();
return true;
@@ -162,7 +162,7 @@ public abstract class AbstractFilterable extends AbstractLifeCycle implements Fi
this.setStopping();
}
if (filter != null) {
- filter.stop();
+ filter.stop(timeout, timeUnit);
}
if (changeLifeCycleState) {
this.setStopped();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
index a539418..300fd80 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
@@ -136,7 +136,7 @@ public final class CompositeFilter extends AbstractLifeCycle implements Iterable
public boolean stop(final long timeout, final TimeUnit timeUnit) {
this.setStopping();
for (final Filter filter : filters) {
- filter.stop();
+ filter.stop(timeout, timeUnit);
}
setStopped();
return true;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/JmsServer.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/JmsServer.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/JmsServer.java
index 0341461..887bcc5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/JmsServer.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/JmsServer.java
@@ -30,6 +30,7 @@ import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import org.apache.logging.log4j.LoggingException;
+import org.apache.logging.log4j.core.AbstractLifeCycle;
import org.apache.logging.log4j.core.LifeCycle;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.LogEventListener;
@@ -99,7 +100,7 @@ public class JmsServer extends LogEventListener implements MessageListener, Life
@Override
public void stop() {
- stop(-1, TimeUnit.MILLISECONDS);
+ stop(AbstractLifeCycle.DEFAULT_STOP_TIMEOUT, AbstractLifeCycle.DEFAULT_STOP_TIMEUNIT);
}
@Override
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/main/java/org/apache/logging/log4j/core/util/DefaultShutdownCallbackRegistry.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/DefaultShutdownCallbackRegistry.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/DefaultShutdownCallbackRegistry.java
index 611abdc..ac822ee 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/DefaultShutdownCallbackRegistry.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/DefaultShutdownCallbackRegistry.java
@@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.AbstractLifeCycle;
import org.apache.logging.log4j.core.LifeCycle;
import org.apache.logging.log4j.status.StatusLogger;
@@ -152,7 +153,7 @@ public class DefaultShutdownCallbackRegistry implements ShutdownCallbackRegistry
@Override
public void stop() {
- stop(-1, TimeUnit.MILLISECONDS);
+ stop(AbstractLifeCycle.DEFAULT_STOP_TIMEOUT, AbstractLifeCycle.DEFAULT_STOP_TIMEUNIT);
}
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-core/src/test/java/org/apache/logging/log4j/junit/LoggerContextRule.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/junit/LoggerContextRule.java b/log4j-core/src/test/java/org/apache/logging/log4j/junit/LoggerContextRule.java
index aa866f5..25a7a02 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/junit/LoggerContextRule.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/junit/LoggerContextRule.java
@@ -19,6 +19,7 @@ package org.apache.logging.log4j.junit;
import java.util.concurrent.TimeUnit;
import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.AbstractLifeCycle;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.LoggerContext;
@@ -53,8 +54,8 @@ public class LoggerContextRule implements TestRule {
private LoggerContext loggerContext;
private Class<? extends ContextSelector> contextSelectorClass;
private String testClassName;
- private long shutdownTimeout;
- private TimeUnit shutdownTimeUnit;
+ private final long shutdownTimeout;
+ private final TimeUnit shutdownTimeUnit;
/**
* Constructs a new LoggerContextRule without a configuration file.
@@ -82,7 +83,8 @@ public class LoggerContextRule implements TestRule {
* custom ContextSelector class to use instead of default
*/
public LoggerContextRule(final String configLocation, final Class<? extends ContextSelector> contextSelectorClass) {
- this(configLocation, contextSelectorClass, 0, null);
+ this(configLocation, contextSelectorClass, AbstractLifeCycle.DEFAULT_STOP_TIMEOUT,
+ AbstractLifeCycle.DEFAULT_STOP_TIMEUNIT);
}
public LoggerContextRule(final String configLocation, final Class<? extends ContextSelector> contextSelectorClass,
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ba97f2f/log4j-web/src/main/java/org/apache/logging/log4j/web/Log4jWebInitializerImpl.java
----------------------------------------------------------------------
diff --git a/log4j-web/src/main/java/org/apache/logging/log4j/web/Log4jWebInitializerImpl.java b/log4j-web/src/main/java/org/apache/logging/log4j/web/Log4jWebInitializerImpl.java
index 287e253..6efa69a 100644
--- a/log4j-web/src/main/java/org/apache/logging/log4j/web/Log4jWebInitializerImpl.java
+++ b/log4j-web/src/main/java/org/apache/logging/log4j/web/Log4jWebInitializerImpl.java
@@ -229,7 +229,7 @@ final class Log4jWebInitializerImpl extends AbstractLifeCycle implements Log4jWe
if (this.namedContextSelector != null) {
this.namedContextSelector.removeContext(this.name);
}
- this.loggerContext.stop();
+ this.loggerContext.stop(timeout, timeUnit);
this.loggerContext.setExternalContext(null);
this.loggerContext = null;
}