aboutsummaryrefslogtreecommitdiff
path: root/guava/src/com/google/common/util/concurrent/ServiceManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava/src/com/google/common/util/concurrent/ServiceManager.java')
-rw-r--r--guava/src/com/google/common/util/concurrent/ServiceManager.java40
1 files changed, 23 insertions, 17 deletions
diff --git a/guava/src/com/google/common/util/concurrent/ServiceManager.java b/guava/src/com/google/common/util/concurrent/ServiceManager.java
index 42652c967..0bda0afec 100644
--- a/guava/src/com/google/common/util/concurrent/ServiceManager.java
+++ b/guava/src/com/google/common/util/concurrent/ServiceManager.java
@@ -65,7 +65,6 @@ import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* A manager for monitoring and controlling a set of {@linkplain Service services}. This class
@@ -125,7 +124,7 @@ import java.util.logging.Logger;
@GwtIncompatible
@ElementTypesAreNonnullByDefault
public final class ServiceManager implements ServiceManagerBridge {
- private static final Logger logger = Logger.getLogger(ServiceManager.class.getName());
+ private static final LazyLogger logger = new LazyLogger(ServiceManager.class);
private static final ListenerCallQueue.Event<Listener> HEALTHY_EVENT =
new ListenerCallQueue.Event<Listener>() {
@Override
@@ -208,10 +207,13 @@ public final class ServiceManager implements ServiceManagerBridge {
if (copy.isEmpty()) {
// Having no services causes the manager to behave strangely. Notably, listeners are never
// fired. To avoid this we substitute a placeholder service.
- logger.log(
- Level.WARNING,
- "ServiceManager configured with no services. Is your application configured properly?",
- new EmptyServiceManagerWarning());
+ logger
+ .get()
+ .log(
+ Level.WARNING,
+ "ServiceManager configured with no services. Is your application configured"
+ + " properly?",
+ new EmptyServiceManagerWarning());
copy = ImmutableList.<Service>of(new NoOpService());
}
this.state = new ServiceManagerState(copy);
@@ -278,7 +280,7 @@ public final class ServiceManager implements ServiceManagerBridge {
// service or listener). Our contract says it is safe to call this method if
// all services were NEW when it was called, and this has already been verified above, so we
// don't propagate the exception.
- logger.log(Level.WARNING, "Unable to start Service " + service, e);
+ logger.get().log(Level.WARNING, "Unable to start Service " + service, e);
}
}
return this;
@@ -706,7 +708,7 @@ public final class ServiceManager implements ServiceManagerBridge {
// N.B. if we miss the STARTING event then we may never record a startup time.
stopwatch.stop();
if (!(service instanceof NoOpService)) {
- logger.log(Level.FINE, "Started {0} in {1}.", new Object[] {service, stopwatch});
+ logger.get().log(Level.FINE, "Started {0} in {1}.", new Object[] {service, stopwatch});
}
}
// Queue our listeners
@@ -798,7 +800,7 @@ public final class ServiceManager implements ServiceManagerBridge {
if (state != null) {
state.transitionService(service, NEW, STARTING);
if (!(service instanceof NoOpService)) {
- logger.log(Level.FINE, "Starting {0}.", service);
+ logger.get().log(Level.FINE, "Starting {0}.", service);
}
}
}
@@ -824,10 +826,12 @@ public final class ServiceManager implements ServiceManagerBridge {
ServiceManagerState state = this.state.get();
if (state != null) {
if (!(service instanceof NoOpService)) {
- logger.log(
- Level.FINE,
- "Service {0} has terminated. Previous state was: {1}",
- new Object[] {service, from});
+ logger
+ .get()
+ .log(
+ Level.FINE,
+ "Service {0} has terminated. Previous state was: {1}",
+ new Object[] {service, from});
}
state.transitionService(service, from, TERMINATED);
}
@@ -846,10 +850,12 @@ public final class ServiceManager implements ServiceManagerBridge {
*/
log &= from != State.STARTING;
if (log) {
- logger.log(
- Level.SEVERE,
- "Service " + service + " has failed in the " + from + " state.",
- failure);
+ logger
+ .get()
+ .log(
+ Level.SEVERE,
+ "Service " + service + " has failed in the " + from + " state.",
+ failure);
}
state.transitionService(service, from, FAILED);
}