aurora-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wfar...@apache.org
Subject [3/4] aurora git commit: Use slf4j throughout the scheduler.
Date Mon, 04 Jan 2016 04:50:22 GMT
http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/util/BackoffHelperTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/util/BackoffHelperTest.java b/commons/src/test/java/org/apache/aurora/common/util/BackoffHelperTest.java
index 78ba8fe..bc30990 100644
--- a/commons/src/test/java/org/apache/aurora/common/util/BackoffHelperTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/util/BackoffHelperTest.java
@@ -13,17 +13,17 @@
  */
 package org.apache.aurora.common.util;
 
+import java.io.IOException;
+
 import org.apache.aurora.common.base.ExceptionalSupplier;
 import org.apache.aurora.common.testing.easymock.EasyMockTest;
-
 import org.junit.Before;
 import org.junit.Test;
 
-import java.io.IOException;
-
-import static org.easymock.EasyMock.createControl;
 import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
 
 /**
  * @author John Sirois

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/util/SamplerTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/util/SamplerTest.java b/commons/src/test/java/org/apache/aurora/common/util/SamplerTest.java
index e714121..18920fc 100644
--- a/commons/src/test/java/org/apache/aurora/common/util/SamplerTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/util/SamplerTest.java
@@ -18,9 +18,10 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import static org.easymock.EasyMock.*;
-import static org.junit.Assert.*;
-import static org.hamcrest.CoreMatchers.*;
+import static org.easymock.EasyMock.createControl;
+import static org.easymock.EasyMock.expect;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
 
 /**
  * @author William Farner

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/util/templating/StringTemplateHelperTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/util/templating/StringTemplateHelperTest.java b/commons/src/test/java/org/apache/aurora/common/util/templating/StringTemplateHelperTest.java
index fa2feb8..ba3d322 100644
--- a/commons/src/test/java/org/apache/aurora/common/util/templating/StringTemplateHelperTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/util/templating/StringTemplateHelperTest.java
@@ -16,12 +16,9 @@ package org.apache.aurora.common.util.templating;
 import java.io.StringWriter;
 import java.util.Arrays;
 
-import org.antlr.stringtemplate.StringTemplate;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.aurora.common.base.Closure;
-
 import static org.junit.Assert.assertEquals;
 
 public class StringTemplateHelperTest {

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/util/testing/FakeClockTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/util/testing/FakeClockTest.java b/commons/src/test/java/org/apache/aurora/common/util/testing/FakeClockTest.java
index 30fa86f..71c6e96 100644
--- a/commons/src/test/java/org/apache/aurora/common/util/testing/FakeClockTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/util/testing/FakeClockTest.java
@@ -18,7 +18,8 @@ import org.apache.aurora.common.quantity.Time;
 import org.junit.Before;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author John Sirois

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/zookeeper/GroupTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/zookeeper/GroupTest.java b/commons/src/test/java/org/apache/aurora/common/zookeeper/GroupTest.java
index 729e7ae..ac65442 100644
--- a/commons/src/test/java/org/apache/aurora/common/zookeeper/GroupTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/zookeeper/GroupTest.java
@@ -21,10 +21,6 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 
-import org.apache.zookeeper.ZooDefs.Ids;
-import org.junit.Before;
-import org.junit.Test;
-
 import org.apache.aurora.common.base.Command;
 import org.apache.aurora.common.quantity.Amount;
 import org.apache.aurora.common.quantity.Time;
@@ -35,6 +31,9 @@ import org.apache.aurora.common.zookeeper.Group.Membership;
 import org.apache.aurora.common.zookeeper.Group.NodeScheme;
 import org.apache.aurora.common.zookeeper.ZooKeeperClient.Credentials;
 import org.apache.aurora.common.zookeeper.testing.BaseZooKeeperTest;
+import org.apache.zookeeper.ZooDefs.Ids;
+import org.junit.Before;
+import org.junit.Test;
 
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.expect;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetImplTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetImplTest.java b/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetImplTest.java
index 69749ed..d446a99 100644
--- a/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetImplTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetImplTest.java
@@ -19,9 +19,7 @@ import java.net.InetSocketAddress;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.LinkedBlockingQueue;
-import java.util.logging.Logger;
 
-import com.google.common.base.Function;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
@@ -55,7 +53,6 @@ import static org.junit.Assert.fail;
  * TODO(William Farner): Change this to remove thrift dependency.
  */
 public class ServerSetImplTest extends BaseZooKeeperTest {
-  private static final Logger LOG = Logger.getLogger(ServerSetImpl.class.getName());
   private static final List<ACL> ACL = ZooDefs.Ids.OPEN_ACL_UNSAFE;
   private static final String SERVICE = "/twitter/services/puffin_hosebird";
 
@@ -64,7 +61,7 @@ public class ServerSetImplTest extends BaseZooKeeperTest {
 
   @Before
   public void mySetUp() throws IOException {
-    serverSetBuffer = new LinkedBlockingQueue<ImmutableSet<ServiceInstance>>();
+    serverSetBuffer = new LinkedBlockingQueue<>();
     serverSetMonitor = serverSetBuffer::offer;
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetsTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetsTest.java b/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetsTest.java
index d3cca3f..85b89d5 100644
--- a/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetsTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/zookeeper/ServerSetsTest.java
@@ -13,16 +13,15 @@
  */
 package org.apache.aurora.common.zookeeper;
 
+import java.net.InetSocketAddress;
+import java.util.Map;
+
 import com.google.common.collect.ImmutableMap;
 
 import org.apache.aurora.common.io.Codec;
 import org.apache.aurora.common.thrift.Endpoint;
 import org.apache.aurora.common.thrift.ServiceInstance;
 import org.apache.aurora.common.thrift.Status;
-
-import java.net.InetSocketAddress;
-import java.util.Map;
-
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperClientTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperClientTest.java b/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperClientTest.java
index 61a94b5..1a2fb11 100644
--- a/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperClientTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperClientTest.java
@@ -18,17 +18,16 @@ import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException.ConnectionLossException;
-import org.apache.zookeeper.KeeperException.NoAuthException;
-import org.apache.zookeeper.ZooKeeper;
-import org.junit.Test;
-
 import org.apache.aurora.common.quantity.Amount;
 import org.apache.aurora.common.quantity.Time;
 import org.apache.aurora.common.zookeeper.ZooKeeperClient.Credentials;
 import org.apache.aurora.common.zookeeper.ZooKeeperClient.ZooKeeperConnectionException;
 import org.apache.aurora.common.zookeeper.testing.BaseZooKeeperTest;
+import org.apache.zookeeper.CreateMode;
+import org.apache.zookeeper.KeeperException.ConnectionLossException;
+import org.apache.zookeeper.KeeperException.NoAuthException;
+import org.apache.zookeeper.ZooKeeper;
+import org.junit.Test;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperUtilsTest.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperUtilsTest.java b/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperUtilsTest.java
index b17fe93..32b937d 100644
--- a/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperUtilsTest.java
+++ b/commons/src/test/java/org/apache/aurora/common/zookeeper/ZooKeeperUtilsTest.java
@@ -14,6 +14,7 @@
 package org.apache.aurora.common.zookeeper;
 
 import com.google.common.base.Charsets;
+
 import org.apache.aurora.common.zookeeper.testing.BaseZooKeeperTest;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException.BadVersionException;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/jmh/java/org/apache/aurora/benchmark/StatusUpdateBenchmark.java
----------------------------------------------------------------------
diff --git a/src/jmh/java/org/apache/aurora/benchmark/StatusUpdateBenchmark.java b/src/jmh/java/org/apache/aurora/benchmark/StatusUpdateBenchmark.java
index 4e29e90..3898596 100644
--- a/src/jmh/java/org/apache/aurora/benchmark/StatusUpdateBenchmark.java
+++ b/src/jmh/java/org/apache/aurora/benchmark/StatusUpdateBenchmark.java
@@ -19,7 +19,6 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executor;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
-import java.util.logging.Logger;
 
 import javax.inject.Singleton;
 
@@ -85,6 +84,7 @@ import org.openjdk.jmh.annotations.State;
 import org.openjdk.jmh.annotations.TearDown;
 import org.openjdk.jmh.annotations.Threads;
 import org.openjdk.jmh.annotations.Warmup;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -189,7 +189,7 @@ public class StatusUpdateBenchmark {
                 .annotatedWith(MesosSchedulerImpl.SchedulerExecutor.class)
                 .toInstance(AsyncUtil.singleThreadLoggingScheduledExecutor(
                     "SchedulerImpl-%d",
-                    Logger.getLogger(StatusUpdateBenchmark.class.getName())));
+                    LoggerFactory.getLogger(StatusUpdateBenchmark.class)));
             bind(DriverFactory.class)
                 .toInstance((s, credentials, frameworkInfo, master) -> new FakeSchedulerDriver());
             bind(OfferManager.class).toInstance(new FakeOfferManager());

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/GuavaUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/GuavaUtils.java b/src/main/java/org/apache/aurora/GuavaUtils.java
index 5cdd9a9..8c2ab57 100644
--- a/src/main/java/org/apache/aurora/GuavaUtils.java
+++ b/src/main/java/org/apache/aurora/GuavaUtils.java
@@ -15,7 +15,6 @@ package org.apache.aurora;
 
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-import java.util.logging.Logger;
 import java.util.stream.Collector;
 
 import com.google.common.collect.ImmutableList;
@@ -27,6 +26,8 @@ import com.google.common.util.concurrent.ServiceManager;
 import com.google.inject.Inject;
 
 import org.apache.aurora.common.application.Lifecycle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.stream.Collector.Characteristics.UNORDERED;
 
@@ -40,7 +41,7 @@ public final class GuavaUtils {
 
   public static class LifecycleShutdownListener extends ServiceManager.Listener {
     private final Lifecycle lifecycle;
-    private static final Logger LOG = Logger.getLogger(LifecycleShutdownListener.class.getName());
+    private static final Logger LOG = LoggerFactory.getLogger(LifecycleShutdownListener.class);
 
     @Inject
     LifecycleShutdownListener(Lifecycle lifecycle) {
@@ -49,7 +50,7 @@ public final class GuavaUtils {
 
     @Override
     public void failure(Service service) {
-      LOG.severe("Service: " + service + " failed unexpectedly. Triggering shutdown.");
+      LOG.error("Service: " + service + " failed unexpectedly. Triggering shutdown.");
       lifecycle.shutdown();
     }
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/GuiceUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/GuiceUtils.java b/src/main/java/org/apache/aurora/GuiceUtils.java
index bc99a3a..879373b 100644
--- a/src/main/java/org/apache/aurora/GuiceUtils.java
+++ b/src/main/java/org/apache/aurora/GuiceUtils.java
@@ -17,8 +17,6 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import java.lang.reflect.Method;
 import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Qualifier;
 
@@ -40,6 +38,8 @@ import com.google.inject.matcher.Matchers;
 import org.aopalliance.intercept.MethodInterceptor;
 import org.aopalliance.intercept.MethodInvocation;
 import org.apache.aurora.common.collections.Pair;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
@@ -49,7 +49,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
  */
 public final class GuiceUtils {
 
-  private static final Logger LOG = Logger.getLogger(GuiceUtils.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(GuiceUtils.class);
 
   // Method annotation that allows a trapped interface to whitelist methods that may throw
   // unchecked exceptions.
@@ -160,7 +160,7 @@ public final class GuiceUtils {
             try {
               return invocation.proceed();
             } catch (RuntimeException e) {
-              LOG.log(Level.WARNING, "Trapped uncaught exception: " + e, e);
+              LOG.warn("Trapped uncaught exception: " + e, e);
               return null;
             }
           }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/codec/ThriftBinaryCodec.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/codec/ThriftBinaryCodec.java b/src/main/java/org/apache/aurora/codec/ThriftBinaryCodec.java
index 0db1ebc..6b65c0f 100644
--- a/src/main/java/org/apache/aurora/codec/ThriftBinaryCodec.java
+++ b/src/main/java/org/apache/aurora/codec/ThriftBinaryCodec.java
@@ -25,7 +25,6 @@ import javax.annotation.Nullable;
 
 import org.apache.aurora.common.quantity.Amount;
 import org.apache.aurora.common.quantity.Data;
-
 import org.apache.thrift.TBase;
 import org.apache.thrift.TDeserializer;
 import org.apache.thrift.TException;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java b/src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java
index e19bb27..0d3874e 100644
--- a/src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java
+++ b/src/main/java/org/apache/aurora/scheduler/SchedulerLifecycle.java
@@ -22,8 +22,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.annotation.Nullable;
 import javax.inject.Inject;
@@ -59,6 +57,8 @@ import org.apache.aurora.scheduler.events.PubsubEvent.EventSubscriber;
 import org.apache.aurora.scheduler.mesos.Driver;
 import org.apache.aurora.scheduler.storage.Storage.NonVolatileStorage;
 import org.apache.aurora.scheduler.storage.StorageBackfill;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -91,7 +91,7 @@ import static org.apache.aurora.common.zookeeper.SingletonService.LeadershipList
  */
 public class SchedulerLifecycle implements EventSubscriber {
 
-  private static final Logger LOG = Logger.getLogger(SchedulerLifecycle.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(SchedulerLifecycle.class);
 
   @VisibleForTesting
   enum State {
@@ -249,7 +249,7 @@ public class SchedulerLifecycle implements EventSubscriber {
         delayedActions.onRegistrationTimeout(
             () -> {
               if (!registrationAcked.get()) {
-                LOG.severe(
+                LOG.error(
                     "Framework has not been registered within the tolerated delay.");
                 stateMachine.transition(State.DEAD);
               }
@@ -278,7 +278,7 @@ public class SchedulerLifecycle implements EventSubscriber {
         try {
           leaderControl.get().advertise();
         } catch (JoinException | InterruptedException e) {
-          LOG.log(Level.SEVERE, "Failed to advertise leader, shutting down.");
+          LOG.error("Failed to advertise leader, shutting down.");
           throw Throwables.propagate(e);
         }
       }
@@ -301,9 +301,9 @@ public class SchedulerLifecycle implements EventSubscriber {
             try {
               control.leave();
             } catch (JoinException e) {
-              LOG.log(Level.WARNING, "Failed to leave leadership: " + e, e);
+              LOG.warn("Failed to leave leadership: " + e, e);
             } catch (ServerSet.UpdateException e) {
-              LOG.log(Level.WARNING, "Failed to leave server set: " + e, e);
+              LOG.warn("Failed to leave server set: " + e, e);
             }
           }
 
@@ -355,7 +355,7 @@ public class SchedulerLifecycle implements EventSubscriber {
       try {
         closure.execute(transition);
       } catch (RuntimeException e) {
-        LOG.log(Level.SEVERE, "Caught unchecked exception: " + e, e);
+        LOG.error("Caught unchecked exception: " + e, e);
         stateMachine.transition(State.DEAD);
         throw e;
       }
@@ -399,7 +399,7 @@ public class SchedulerLifecycle implements EventSubscriber {
 
     @Override
     public void onDefeated(@Nullable ServerSet.EndpointStatus status) {
-      LOG.severe("Lost leadership, committing suicide.");
+      LOG.error("Lost leadership, committing suicide.");
       stateMachine.transition(State.DEAD);
     }
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/SchedulerModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/SchedulerModule.java b/src/main/java/org/apache/aurora/scheduler/SchedulerModule.java
index fb1696a..ddc0d05 100644
--- a/src/main/java/org/apache/aurora/scheduler/SchedulerModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/SchedulerModule.java
@@ -19,7 +19,6 @@ import java.nio.charset.StandardCharsets;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ScheduledExecutorService;
-import java.util.logging.Logger;
 
 import javax.inject.Singleton;
 
@@ -44,6 +43,8 @@ import org.apache.aurora.scheduler.base.AsyncUtil;
 import org.apache.aurora.scheduler.events.PubsubEventModule;
 import org.apache.mesos.Protos;
 import org.codehaus.jackson.map.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.apache.aurora.scheduler.SchedulerServicesModule.addSchedulerActiveServiceBinding;
 import static org.apache.aurora.scheduler.TierManager.TierManagerImpl.TierConfig;
@@ -53,7 +54,7 @@ import static org.apache.aurora.scheduler.TierManager.TierManagerImpl.TierConfig
  */
 public class SchedulerModule extends AbstractModule {
 
-  private static final Logger LOG = Logger.getLogger(SchedulerModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(SchedulerModule.class);
 
   @CmdLine(name = "max_registration_delay",
       help = "Max allowable delay to allow the driver to register before aborting")
@@ -120,7 +121,7 @@ public class SchedulerModule extends AbstractModule {
       try {
         return Optional.of(Files.toString(TIER_CONFIG_FILE.get(), StandardCharsets.UTF_8));
       } catch (IOException e) {
-        LOG.severe("Error loading tier configuration file.");
+        LOG.error("Error loading tier configuration file.");
         throw Throwables.propagate(e);
       }
     }
@@ -134,7 +135,7 @@ public class SchedulerModule extends AbstractModule {
       try {
         return new ObjectMapper().readValue(input, TierConfig.class);
       } catch (IOException e) {
-        LOG.severe("Error parsing tier configuration file.");
+        LOG.error("Error parsing tier configuration file.");
         throw Throwables.propagate(e);
       }
     });

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/TaskIdGenerator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/TaskIdGenerator.java b/src/main/java/org/apache/aurora/scheduler/TaskIdGenerator.java
index a2034ff..35675ac 100644
--- a/src/main/java/org/apache/aurora/scheduler/TaskIdGenerator.java
+++ b/src/main/java/org/apache/aurora/scheduler/TaskIdGenerator.java
@@ -19,7 +19,6 @@ import java.util.UUID;
 import javax.inject.Inject;
 
 import org.apache.aurora.common.util.Clock;
-
 import org.apache.aurora.scheduler.storage.entities.ITaskConfig;
 
 /**

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/TaskStatusHandlerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/TaskStatusHandlerImpl.java b/src/main/java/org/apache/aurora/scheduler/TaskStatusHandlerImpl.java
index 1e820bd..260a7b8 100644
--- a/src/main/java/org/apache/aurora/scheduler/TaskStatusHandlerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/TaskStatusHandlerImpl.java
@@ -19,8 +19,6 @@ import java.util.ArrayDeque;
 import java.util.Queue;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Qualifier;
@@ -40,6 +38,8 @@ import org.apache.aurora.scheduler.stats.CachedCounters;
 import org.apache.aurora.scheduler.storage.Storage;
 import org.apache.aurora.scheduler.storage.Storage.MutateWork.NoResult;
 import org.apache.mesos.Protos.TaskStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
@@ -54,7 +54,7 @@ import static java.util.Objects.requireNonNull;
 public class TaskStatusHandlerImpl extends AbstractExecutionThreadService
     implements TaskStatusHandler {
 
-  private static final Logger LOG = Logger.getLogger(TaskStatusHandlerImpl.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(TaskStatusHandlerImpl.class);
 
   @VisibleForTesting
   static final String MEMORY_LIMIT_DISPLAY = "Task used more memory than requested.";
@@ -108,7 +108,7 @@ public class TaskStatusHandlerImpl extends AbstractExecutionThreadService
         new Listener() {
           @Override
           public void failed(State from, Throwable failure) {
-            LOG.log(Level.SEVERE, "TaskStatusHandler failed: ", failure);
+            LOG.error("TaskStatusHandler failed: ", failure);
             driver.abort();
           }
         },
@@ -169,7 +169,7 @@ public class TaskStatusHandlerImpl extends AbstractExecutionThreadService
           driver.acknowledgeStatusUpdate(status);
         }
       } catch (RuntimeException e) {
-        LOG.log(Level.SEVERE, "Failed to process status update batch " + updates, e);
+        LOG.error("Failed to process status update batch " + updates, e);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/TaskVars.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/TaskVars.java b/src/main/java/org/apache/aurora/scheduler/TaskVars.java
index 8243098..6351cc7 100644
--- a/src/main/java/org/apache/aurora/scheduler/TaskVars.java
+++ b/src/main/java/org/apache/aurora/scheduler/TaskVars.java
@@ -15,7 +15,6 @@ package org.apache.aurora.scheduler;
 
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
@@ -48,6 +47,8 @@ import org.apache.aurora.scheduler.storage.AttributeStore;
 import org.apache.aurora.scheduler.storage.Storage;
 import org.apache.aurora.scheduler.storage.entities.IAttribute;
 import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -55,7 +56,7 @@ import static java.util.Objects.requireNonNull;
  * A container that tracks and exports stat counters for tasks.
  */
 class TaskVars extends AbstractIdleService implements EventSubscriber {
-  private static final Logger LOG = Logger.getLogger(TaskVars.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(TaskVars.class);
   private static final ImmutableSet<ScheduleStatus> TRACKED_JOB_STATES =
       ImmutableSet.of(ScheduleStatus.LOST, ScheduleStatus.FAILED);
 
@@ -151,7 +152,7 @@ class TaskVars extends AbstractIdleService implements EventSubscriber {
       if (rack.isPresent()) {
         counters.getUnchecked(rackStatName(rack.get())).increment();
       } else {
-        LOG.warning("Failed to find rack attribute associated with host " + host);
+        LOG.warn("Failed to find rack attribute associated with host " + host);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/app/Log4jConfigurator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/app/Log4jConfigurator.java b/src/main/java/org/apache/aurora/scheduler/app/Log4jConfigurator.java
index 28aad86..348ff13 100644
--- a/src/main/java/org/apache/aurora/scheduler/app/Log4jConfigurator.java
+++ b/src/main/java/org/apache/aurora/scheduler/app/Log4jConfigurator.java
@@ -18,7 +18,6 @@ import java.util.Objects;
 import org.apache.aurora.common.logging.RootLogConfig;
 import org.apache.aurora.common.logging.RootLogConfig.Configuration;
 import org.apache.aurora.common.logging.log4j.GlogLayout;
-
 import org.apache.log4j.BasicConfigurator;
 import org.apache.log4j.ConsoleAppender;
 import org.apache.log4j.Level;
@@ -28,8 +27,8 @@ import org.apache.log4j.Logger;
  * Configures log4j logging.
  */
 final class Log4jConfigurator {
-  private static final java.util.logging.Logger LOG =
-      java.util.logging.Logger.getLogger(Log4jConfigurator.class.getName());
+  private static final org.slf4j.Logger LOG =
+      org.slf4j.LoggerFactory.getLogger(Log4jConfigurator.class.getName());
 
   /**
    * Configures log4j to log to stderr with a glog format.
@@ -58,7 +57,7 @@ final class Log4jConfigurator {
       case SEVERE:
         return Level.ERROR;
       default:
-        LOG.warning("Mapping unexpected vlog value of " + logConfig.getVlog() + " to log4j TRACE");
+        LOG.warn("Mapping unexpected vlog value of {} to log4j TRACE", logConfig.getVlog());
         return Level.TRACE;
     }
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java b/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
index 3822d6e..de018dd 100644
--- a/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
+++ b/src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java
@@ -21,8 +21,6 @@ import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
@@ -71,6 +69,8 @@ import org.apache.aurora.scheduler.storage.log.SnapshotStoreImpl;
 import org.apache.aurora.scheduler.zookeeper.guice.client.ZooKeeperClientModule;
 import org.apache.aurora.scheduler.zookeeper.guice.client.ZooKeeperClientModule.ClientConfig;
 import org.apache.aurora.scheduler.zookeeper.guice.client.flagged.FlaggedClientConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.apache.aurora.common.logging.RootLogConfig.Configuration;
 
@@ -78,7 +78,7 @@ import static org.apache.aurora.common.logging.RootLogConfig.Configuration;
  * Launcher for the aurora scheduler.
  */
 public class SchedulerMain {
-  private static final Logger LOG = Logger.getLogger(SchedulerMain.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(SchedulerMain.class);
 
   @CmdLine(name = "logtostderr", help = "Log messages to stderr instead of logfiles.")
   private static final Arg<Boolean> LOGTOSTDERR = Arg.create(false);
@@ -200,7 +200,7 @@ public class SchedulerMain {
     AtomicLong uncaughtExceptions = Stats.exportLong("uncaught_exceptions");
     Thread.setDefaultUncaughtExceptionHandler((t, e) -> {
       uncaughtExceptions.incrementAndGet();
-      LOG.log(Level.SEVERE, "Uncaught exception from " + t + ":" + e, e);
+      LOG.error("Uncaught exception from " + t + ":" + e, e);
     });
 
     ClientConfig zkClientConfig = FlaggedClientConfig.create();
@@ -255,7 +255,7 @@ public class SchedulerMain {
   }
 
   private static void exit(String message, Exception error) {
-    LOG.log(Level.SEVERE, message + "\n" + error, error);
+    LOG.error(message + "\n" + error, error);
     System.exit(1);
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/app/ServiceDiscoveryModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/app/ServiceDiscoveryModule.java b/src/main/java/org/apache/aurora/scheduler/app/ServiceDiscoveryModule.java
index 078042b..97977fd 100644
--- a/src/main/java/org/apache/aurora/scheduler/app/ServiceDiscoveryModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/app/ServiceDiscoveryModule.java
@@ -14,7 +14,6 @@
 package org.apache.aurora.scheduler.app;
 
 import java.util.List;
-import java.util.logging.Logger;
 
 import javax.inject.Singleton;
 
@@ -30,6 +29,8 @@ import org.apache.aurora.common.zookeeper.ZooKeeperClient;
 import org.apache.aurora.common.zookeeper.ZooKeeperClient.Credentials;
 import org.apache.aurora.common.zookeeper.ZooKeeperUtils;
 import org.apache.zookeeper.data.ACL;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -38,7 +39,7 @@ import static java.util.Objects.requireNonNull;
  */
 public class ServiceDiscoveryModule extends AbstractModule {
 
-  private static final Logger LOG = Logger.getLogger(ServiceDiscoveryModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(ServiceDiscoveryModule.class);
 
   private final String serverSetPath;
   private final Credentials zkCredentials;
@@ -57,7 +58,7 @@ public class ServiceDiscoveryModule extends AbstractModule {
   @Singleton
   List<ACL> provideAcls() {
     if (zkCredentials == Credentials.NONE) {
-      LOG.warning("Running without ZooKeeper digest credentials. ZooKeeper ACLs are disabled.");
+      LOG.warn("Running without ZooKeeper digest credentials. ZooKeeper ACLs are disabled.");
       return ZooKeeperUtils.OPEN_ACL_UNSAFE;
     } else {
       return ZooKeeperUtils.EVERYONE_READ_CREATOR_ALL;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java b/src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java
index 848cb54..da07df6 100644
--- a/src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/async/AsyncModule.java
@@ -18,7 +18,6 @@ import java.lang.annotation.Target;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Qualifier;
@@ -34,6 +33,8 @@ import org.apache.aurora.common.args.CmdLine;
 import org.apache.aurora.common.stats.StatsProvider;
 import org.apache.aurora.scheduler.SchedulerServicesModule;
 import org.apache.aurora.scheduler.base.AsyncUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
@@ -45,7 +46,7 @@ import static java.util.Objects.requireNonNull;
  * Binding module for async task management.
  */
 public class AsyncModule extends AbstractModule {
-  private static final Logger LOG = Logger.getLogger(AsyncModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(AsyncModule.class);
 
   @CmdLine(name = "async_worker_threads",
       help = "The number of worker threads to process async task operations with.")

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/base/AsyncUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/base/AsyncUtil.java b/src/main/java/org/apache/aurora/scheduler/base/AsyncUtil.java
index d6d1350..5facc04 100644
--- a/src/main/java/org/apache/aurora/scheduler/base/AsyncUtil.java
+++ b/src/main/java/org/apache/aurora/scheduler/base/AsyncUtil.java
@@ -19,11 +19,11 @@ import java.util.concurrent.Future;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 
+import org.slf4j.Logger;
+
 import static java.util.Objects.requireNonNull;
 
 /**
@@ -120,11 +120,11 @@ public final class AsyncUtil {
         } catch (InterruptedException ie) {
           Thread.currentThread().interrupt();
         } catch (ExecutionException ee) {
-          logger.log(Level.SEVERE, ee.toString(), ee);
+          logger.error(ee.toString(), ee);
         }
       }
     } else {
-      logger.log(Level.SEVERE, throwable.toString(), throwable);
+      logger.error(throwable.toString(), throwable);
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/base/Conversions.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/base/Conversions.java b/src/main/java/org/apache/aurora/scheduler/base/Conversions.java
index 91171b1..f2ff7ab 100644
--- a/src/main/java/org/apache/aurora/scheduler/base/Conversions.java
+++ b/src/main/java/org/apache/aurora/scheduler/base/Conversions.java
@@ -16,7 +16,6 @@ package org.apache.aurora.scheduler.base;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.logging.Logger;
 
 import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
@@ -34,13 +33,15 @@ import org.apache.aurora.scheduler.storage.entities.IHostAttributes;
 import org.apache.mesos.Protos;
 import org.apache.mesos.Protos.Offer;
 import org.apache.mesos.Protos.TaskState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Collection of utility functions to convert mesos protobuf types to internal thrift types.
  */
 public final class Conversions {
 
-  private static final Logger LOG = Logger.getLogger(Conversions.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(Conversions.class);
 
   private Conversions() {
     // Utility class.
@@ -91,7 +92,7 @@ public final class Conversions {
             return attribute.getText().getValue();
 
           default:
-            LOG.finest("Unrecognized attribute type:" + attribute.getType() + " , ignoring.");
+            LOG.debug("Unrecognized attribute type: {} , ignoring.", attribute.getType());
             return null;
         }
       };

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java b/src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java
index a33f63a..7d41a53 100644
--- a/src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java
+++ b/src/main/java/org/apache/aurora/scheduler/cron/quartz/AuroraCronJob.java
@@ -16,8 +16,6 @@ package org.apache.aurora.scheduler.cron.quartz;
 import java.util.Date;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
@@ -45,6 +43,8 @@ import org.quartz.DisallowConcurrentExecution;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -62,7 +62,7 @@ import static org.apache.aurora.gen.ScheduleStatus.KILLING;
  */
 @DisallowConcurrentExecution
 class AuroraCronJob implements Job {
-  private static final Logger LOG = Logger.getLogger(AuroraCronJob.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(AuroraCronJob.class);
 
   private static final AtomicLong CRON_JOB_TRIGGERS = Stats.exportLong("cron_job_triggers");
   private static final AtomicLong CRON_JOB_MISFIRES = Stats.exportLong("cron_job_misfires");
@@ -120,9 +120,9 @@ class AuroraCronJob implements Job {
         (MutateWork.Quiet<Optional<DeferredLaunch>>) storeProvider -> {
           Optional<IJobConfiguration> config = storeProvider.getCronJobStore().fetchJob(key);
           if (!config.isPresent()) {
-            LOG.warning(String.format(
-                "Cron was triggered for %s but no job with that key was found in storage.",
-                path));
+            LOG.warn(
+                "Cron was triggered for {} but no job with that key was found in storage.",
+                path);
             CRON_JOB_MISFIRES.incrementAndGet();
             return Optional.absent();
           }
@@ -131,15 +131,15 @@ class AuroraCronJob implements Job {
           try {
             cronJob = SanitizedCronJob.fromUnsanitized(configurationManager, config.get());
           } catch (ConfigurationManager.TaskDescriptionException | CronException e) {
-            LOG.warning(String.format(
-                "Invalid cron job for %s in storage - failed to parse with %s", key, e));
+            LOG.warn(
+                "Invalid cron job for {} in storage - failed to parse with {}", key, e);
             CRON_JOB_PARSE_FAILURES.incrementAndGet();
             return Optional.absent();
           }
 
           CronCollisionPolicy collisionPolicy = cronJob.getCronCollisionPolicy();
-          LOG.info(String.format(
-              "Cron triggered for %s at %s with policy %s", path, new Date(), collisionPolicy));
+          LOG.info(
+              "Cron triggered for {} at %s with policy {}", path, new Date(), collisionPolicy);
           CRON_JOB_TRIGGERS.incrementAndGet();
 
           final Query.Builder activeQuery = Query.jobScoped(key).active();
@@ -160,15 +160,15 @@ class AuroraCronJob implements Job {
               return Optional.of(new DeferredLaunch(task, instanceIds, activeTasks));
 
             case RUN_OVERLAP:
-              LOG.severe(String.format("Ignoring trigger for job %s with deprecated collision"
-                  + "policy RUN_OVERLAP due to unterminated active tasks.", path));
+              LOG.error("Ignoring trigger for job {} with deprecated collision"
+                  + "policy RUN_OVERLAP due to unterminated active tasks.", path);
               return Optional.absent();
 
             case CANCEL_NEW:
               return Optional.absent();
 
             default:
-              LOG.severe("Unrecognized cron collision policy: " + collisionPolicy);
+              LOG.error("Unrecognized cron collision policy: " + collisionPolicy);
               return Optional.absent();
           }
         }
@@ -189,7 +189,7 @@ class AuroraCronJob implements Job {
       }
     });
 
-    LOG.info(String.format("Waiting for job to terminate before launching cron job %s.", path));
+    LOG.info("Waiting for job to terminate before launching cron job {}.", path);
 
     final Query.Builder query = Query.taskScoped(deferredLaunch.get().activeTaskIds).active();
     try {
@@ -210,7 +210,7 @@ class AuroraCronJob implements Job {
         }
       });
     } catch (InterruptedException e) {
-      LOG.log(Level.WARNING, "Interrupted while trying to launch cron " + path, e);
+      LOG.warn("Interrupted while trying to launch cron " + path, e);
       Thread.currentThread().interrupt();
       throw new JobExecutionException(e);
     }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java
index f803913..850effc 100644
--- a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronJobManagerImpl.java
@@ -15,8 +15,6 @@ package org.apache.aurora.scheduler.cron.quartz;
 
 import java.util.Map;
 import java.util.TimeZone;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
@@ -41,6 +39,8 @@ import org.quartz.JobKey;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
 import org.quartz.impl.matchers.GroupMatcher;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -51,7 +51,7 @@ import static java.util.Objects.requireNonNull;
  * exit).
  */
 class CronJobManagerImpl implements CronJobManager {
-  private static final Logger LOG = Logger.getLogger(CronJobManagerImpl.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(CronJobManagerImpl.class);
 
   private final Storage storage;
   private final Scheduler scheduler;
@@ -183,7 +183,7 @@ class CronJobManagerImpl implements CronJobManager {
       scheduler.deleteJob(Quartz.jobKey(jobKey));
       LOG.info(formatMessage("Successfully descheduled %s.", jobKey));
     } catch (SchedulerException e) {
-      LOG.log(Level.WARNING, formatMessage("Error descheduling %s: %s", jobKey, e), e);
+      LOG.warn(formatMessage("Error descheduling %s: %s", jobKey, e), e);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronLifecycle.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronLifecycle.java b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronLifecycle.java
index dba47eb..650face 100644
--- a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronLifecycle.java
+++ b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronLifecycle.java
@@ -15,8 +15,6 @@ package org.apache.aurora.scheduler.cron.quartz;
 
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
@@ -30,6 +28,8 @@ import org.apache.aurora.scheduler.storage.Storage;
 import org.apache.aurora.scheduler.storage.entities.IJobConfiguration;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -37,7 +37,7 @@ import static java.util.Objects.requireNonNull;
  * Manager for startup and teardown of Quartz scheduler.
  */
 class CronLifecycle extends AbstractIdleService {
-  private static final Logger LOG = Logger.getLogger(CronLifecycle.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(CronLifecycle.class);
 
   private static final AtomicInteger RUNNING_FLAG = Stats.exportInt("quartz_scheduler_running");
   private static final AtomicInteger LOADED_FLAG = Stats.exportInt("cron_jobs_loaded");
@@ -82,7 +82,7 @@ class CronLifecycle extends AbstractIdleService {
 
   private void logLaunchFailure(IJobConfiguration job, Exception e) {
     LAUNCH_FAILURES.incrementAndGet();
-    LOG.log(Level.SEVERE, "Scheduling failed for recovered job " + job, e);
+    LOG.error("Scheduling failed for recovered job " + job, e);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronModule.java b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronModule.java
index 2645371..155d702 100644
--- a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronModule.java
@@ -16,7 +16,6 @@ package org.apache.aurora.scheduler.cron.quartz;
 import java.util.Properties;
 import java.util.TimeZone;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Logger;
 
 import javax.inject.Singleton;
 
@@ -36,6 +35,8 @@ import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
 import org.quartz.impl.StdSchedulerFactory;
 import org.quartz.simpl.SimpleThreadPool;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.quartz.impl.StdSchedulerFactory.PROP_SCHED_INSTANCE_ID;
 import static org.quartz.impl.StdSchedulerFactory.PROP_SCHED_MAKE_SCHEDULER_THREAD_DAEMON;
@@ -50,7 +51,7 @@ import static org.quartz.impl.StdSchedulerFactory.PROP_THREAD_POOL_PREFIX;
  * schedule.
  */
 public class CronModule extends AbstractModule {
-  private static final Logger LOG = Logger.getLogger(CronModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(CronModule.class);
 
   @CmdLine(name = "cron_scheduler_num_threads",
       help = "Number of threads to use for the cron scheduler thread pool.")
@@ -98,7 +99,7 @@ public class CronModule extends AbstractModule {
     TimeZone timeZone = TimeZone.getTimeZone(CRON_TIMEZONE.get());
     TimeZone systemTimeZone = TimeZone.getDefault();
     if (!timeZone.equals(systemTimeZone)) {
-      LOG.warning("Cron schedules are configured to fire according to timezone "
+      LOG.warn("Cron schedules are configured to fire according to timezone "
           + timeZone.getDisplayName()
           + " but system timezone is set to "
           + systemTimeZone.getDisplayName());

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl.java
index 016fee1..ead85c3 100644
--- a/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/cron/quartz/CronSchedulerImpl.java
@@ -13,9 +13,6 @@
  */
 package org.apache.aurora.scheduler.cron.quartz;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
 import javax.inject.Inject;
 
 import com.google.common.base.Optional;
@@ -29,13 +26,15 @@ import org.apache.aurora.scheduler.storage.entities.IJobKey;
 import org.quartz.CronTrigger;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
 import static org.apache.aurora.scheduler.cron.quartz.Quartz.jobKey;
 
 class CronSchedulerImpl implements CronScheduler {
-  private static final Logger LOG = Logger.getLogger(CronSchedulerImpl.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(CronSchedulerImpl.class);
 
   private final Scheduler scheduler;
 
@@ -54,7 +53,7 @@ class CronSchedulerImpl implements CronScheduler {
               .filter(CronTrigger.class)
               .transform(Quartz::crontabEntry)));
     } catch (SchedulerException e) {
-      LOG.log(Level.SEVERE,
+      LOG.error(
           "Error reading job " + JobKeys.canonicalString(jobKey) + " cronExpression Quartz: " + e,
           e);
       return Optional.absent();

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java b/src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java
index e9e0206..f9c8a57 100644
--- a/src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/events/PubsubEventModule.java
@@ -16,8 +16,6 @@ package org.apache.aurora.scheduler.events;
 import java.util.Set;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Singleton;
@@ -40,6 +38,8 @@ import org.apache.aurora.scheduler.async.AsyncModule.AsyncExecutor;
 import org.apache.aurora.scheduler.events.NotifyingSchedulingFilter.NotifyDelegate;
 import org.apache.aurora.scheduler.events.PubsubEvent.EventSubscriber;
 import org.apache.aurora.scheduler.filter.SchedulingFilter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -59,7 +59,7 @@ public final class PubsubEventModule extends AbstractModule {
   }
 
   public PubsubEventModule() {
-    this(Logger.getLogger(PubsubEventModule.class.getName()));
+    this(LoggerFactory.getLogger(PubsubEventModule.class));
   }
 
   @VisibleForTesting
@@ -81,8 +81,7 @@ public final class PubsubEventModule extends AbstractModule {
         executor,
         (exception, context) -> {
           subscriberExceptions.incrementAndGet();
-          log.log(
-              Level.SEVERE,
+          log.error(
               "Failed to dispatch event to " + context.getSubscriberMethod() + ": " + exception,
               exception);
         }
@@ -101,7 +100,7 @@ public final class PubsubEventModule extends AbstractModule {
   private class DeadEventHandler {
     @Subscribe
     public void logDeadEvent(DeadEvent event) {
-      log.warning(String.format(DEAD_EVENT_MESSAGE, event.getEvent()));
+      log.warn(String.format(DEAD_EVENT_MESSAGE, event.getEvent()));
     }
   }
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java b/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java
index 625adcb..e9ee049 100644
--- a/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java
@@ -27,7 +27,6 @@ import com.google.inject.Inject;
 import org.apache.aurora.common.inject.TimedInterceptor.Timed;
 import org.apache.aurora.common.quantity.Amount;
 import org.apache.aurora.common.quantity.Data;
-
 import org.apache.aurora.gen.MaintenanceMode;
 import org.apache.aurora.gen.TaskConstraint;
 import org.apache.aurora.scheduler.ResourceSlot;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/AbortCallback.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/AbortCallback.java b/src/main/java/org/apache/aurora/scheduler/http/AbortCallback.java
index b5eed69..8954bcb 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/AbortCallback.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/AbortCallback.java
@@ -13,13 +13,14 @@
  */
 package org.apache.aurora.scheduler.http;
 
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default handler to invoke when the process is being instructed to exit immediately.
  */
 class AbortCallback implements Runnable {
-  private static final Logger LOG = Logger.getLogger(AbortCallback.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(AbortCallback.class);
 
   @Override public void run() {
     LOG.info("ABORTING PROCESS IMMEDIATELY!");

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java b/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java
index 277858b..6c5654b 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/JettyServerModule.java
@@ -18,8 +18,6 @@ import java.net.UnknownHostException;
 import java.util.EnumSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.annotation.Nonnegative;
 import javax.inject.Inject;
@@ -85,6 +83,8 @@ import org.eclipse.jetty.server.handler.gzip.GzipHandler;
 import org.eclipse.jetty.servlet.DefaultServlet;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.util.resource.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -100,7 +100,7 @@ import static com.sun.jersey.api.json.JSONConfiguration.FEATURE_POJO_MAPPING;
  * requests (for static assets) similar to what we currently do with path specs.
  */
 public class JettyServerModule extends AbstractModule {
-  private static final Logger LOG = Logger.getLogger(JettyServerModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(JettyServerModule.class);
 
   // The name of the request attribute where the path for the current request before it was
   // rewritten is stored.
@@ -155,7 +155,7 @@ public class JettyServerModule extends AbstractModule {
         InetAddress.getByName(hostnameOverride.get());
       } catch (UnknownHostException e) {
         /* Possible misconfiguration, so warn the user. */
-        LOG.warning("Unable to resolve name specified in -hostname. "
+        LOG.warn("Unable to resolve name specified in -hostname. "
                     + "Depending on your environment, this may be valid.");
       }
     }
@@ -408,7 +408,7 @@ public class JettyServerModule extends AbstractModule {
       try {
         server.stop();
       } catch (Exception e) {
-        LOG.log(Level.INFO, "Failed to stop jetty server: " + e, e);
+        LOG.info("Failed to stop jetty server: " + e, e);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirect.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirect.java b/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirect.java
index 7c3c7e5..ef71290 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirect.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirect.java
@@ -14,7 +14,6 @@
 package org.apache.aurora.scheduler.http;
 
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.servlet.http.HttpServletRequest;
@@ -31,6 +30,8 @@ import org.apache.aurora.common.net.pool.DynamicHostSet.HostChangeMonitor;
 import org.apache.aurora.common.net.pool.DynamicHostSet.MonitorException;
 import org.apache.aurora.common.thrift.Endpoint;
 import org.apache.aurora.common.thrift.ServiceInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -61,7 +62,7 @@ public class LeaderRedirect {
   @VisibleForTesting
   static final String HTTP_PORT_NAME = "http";
 
-  private static final Logger LOG = Logger.getLogger(LeaderRedirect.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(LeaderRedirect.class);
 
   private final HttpService httpService;
   private final DynamicHostSet<ServiceInstance> schedulers;
@@ -96,7 +97,7 @@ public class LeaderRedirect {
       }
     }
 
-    LOG.warning("Leader service instance seems to be incomplete: " + leadingScheduler);
+    LOG.warn("Leader service instance seems to be incomplete: " + leadingScheduler);
     return Optional.absent();
   }
 
@@ -142,7 +143,7 @@ public class LeaderRedirect {
     }
 
     if (!leadingScheduler.isSetServiceEndpoint()) {
-      LOG.warning("Leader service instance seems to be incomplete: " + leadingScheduler);
+      LOG.warn("Leader service instance seems to be incomplete: " + leadingScheduler);
       return LeaderStatus.NO_LEADER;
     }
 
@@ -199,7 +200,7 @@ public class LeaderRedirect {
     public void onChange(ImmutableSet<ServiceInstance> hostSet) {
       switch (hostSet.size()) {
         case 0:
-          LOG.warning("No schedulers in host set, will not redirect despite not being leader.");
+          LOG.warn("No schedulers in host set, will not redirect despite not being leader.");
           leader.set(null);
           break;
 
@@ -209,7 +210,7 @@ public class LeaderRedirect {
           break;
 
         default:
-          LOG.severe("Multiple schedulers detected, will not redirect: " + hostSet);
+          LOG.error("Multiple schedulers detected, will not redirect: " + hostSet);
           leader.set(null);
           break;
       }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirectFilter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirectFilter.java b/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirectFilter.java
index b83166e..41b9984 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirectFilter.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/LeaderRedirectFilter.java
@@ -15,7 +15,6 @@ package org.apache.aurora.scheduler.http;
 
 import java.io.IOException;
 import java.util.Objects;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.servlet.FilterChain;
@@ -28,13 +27,16 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Optional;
 import com.google.common.io.Resources;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import static org.apache.aurora.scheduler.http.LeaderRedirect.LeaderStatus;
 
 /**
  * An HTTP filter that will redirect the request to the leading scheduler.
  */
 public class LeaderRedirectFilter extends AbstractFilter {
-  private static final Logger LOG = Logger.getLogger(LeaderRedirectFilter.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(LeaderRedirectFilter.class);
 
   @VisibleForTesting
   static final String NO_LEADER_PAGE = "no-leader.html";
@@ -72,7 +74,7 @@ public class LeaderRedirectFilter extends AbstractFilter {
           return;
         }
 
-        LOG.warning("Got no leader redirect contrary to leader status, treating as if no leader "
+        LOG.warn("Got no leader redirect contrary to leader status, treating as if no leader "
             + "was found.");
         sendServiceUnavailable(response);
         return;

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/QuitCallback.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/QuitCallback.java b/src/main/java/org/apache/aurora/scheduler/http/QuitCallback.java
index 10a9bc8..f41620e 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/QuitCallback.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/QuitCallback.java
@@ -13,18 +13,18 @@
  */
 package org.apache.aurora.scheduler.http;
 
-import java.util.logging.Logger;
-
 import com.google.inject.Inject;
 
 import org.apache.aurora.common.application.Lifecycle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * HTTP quit callback, which invokes {@link Lifecycle#shutdown()}.
  */
 public class QuitCallback implements Runnable {
 
-  private static final Logger LOG = Logger.getLogger(QuitCallback.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(QuitCallback.class);
 
   private final Lifecycle lifecycle;
 

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/api/ApiBeta.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/api/ApiBeta.java b/src/main/java/org/apache/aurora/scheduler/http/api/ApiBeta.java
index 9a18c69..053b87b 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/api/ApiBeta.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/api/ApiBeta.java
@@ -21,8 +21,6 @@ import java.net.URI;
 import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Objects;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.ws.rs.GET;
@@ -47,6 +45,8 @@ import org.apache.aurora.gen.AuroraAdmin.Iface;
 import org.apache.aurora.scheduler.storage.entities.AuroraAdminMetadata;
 import org.apache.aurora.scheduler.thrift.Responses;
 import org.apache.aurora.scheduler.thrift.aop.AnnotatedAuroraAdmin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.apache.aurora.scheduler.http.api.GsonMessageBodyHandler.GSON;
 
@@ -58,7 +58,7 @@ import static org.apache.aurora.scheduler.http.api.GsonMessageBodyHandler.GSON;
 public class ApiBeta {
   static final String PATH = "/apibeta";
 
-  private static final Logger LOG = Logger.getLogger(ApiBeta.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(ApiBeta.class);
 
   private final Iface api;
 
@@ -120,9 +120,7 @@ public class ApiBeta {
   @Path("{method}")
   @Produces(MediaType.APPLICATION_JSON)
   public Response invoke(@PathParam("method") String methodName, String postData) {
-    if (LOG.isLoggable(Level.FINE)) {
-      LOG.info("Call to " + methodName + " with data: " + postData);
-    }
+    LOG.debug("Call to {} with data: {}", methodName, postData);
 
     // First, verify that this is a valid method on the interface.
     Class<?>[] methodParameterTypes = AuroraAdminMetadata.METHODS.get(methodName);

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/api/security/Kerberos5ShiroRealmModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/api/security/Kerberos5ShiroRealmModule.java b/src/main/java/org/apache/aurora/scheduler/http/api/security/Kerberos5ShiroRealmModule.java
index 579d27a..09d8db4 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/api/security/Kerberos5ShiroRealmModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/api/security/Kerberos5ShiroRealmModule.java
@@ -17,7 +17,6 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.security.PrivilegedAction;
-import java.util.logging.Logger;
 
 import javax.inject.Singleton;
 import javax.security.auth.Subject;
@@ -39,6 +38,8 @@ import org.ietf.jgss.GSSCredential;
 import org.ietf.jgss.GSSException;
 import org.ietf.jgss.GSSManager;
 import org.ietf.jgss.Oid;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Configures and provides a Shiro {@link org.apache.shiro.realm.Realm}.
@@ -46,7 +47,7 @@ import org.ietf.jgss.Oid;
  * @see org.apache.aurora.scheduler.http.api.security.Kerberos5Realm
  */
 public class Kerberos5ShiroRealmModule extends AbstractModule {
-  private static final Logger LOG = Logger.getLogger(Kerberos5ShiroRealmModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(Kerberos5ShiroRealmModule.class);
 
   private static final String JAVA_SECURITY_LOGIN_KEY = "java.security.auth.login.config";
 
@@ -138,7 +139,7 @@ public class Kerberos5ShiroRealmModule extends AbstractModule {
         serverKeyTab.get().getAbsolutePath(),
         serverPrincipal.get().getName(),
         kerberosDebugEnabled);
-    LOG.fine("Generated jaas.conf: " + jaasConf);
+    LOG.debug("Generated jaas.conf: " + jaasConf);
 
     File jaasConfFile;
     try {

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingInterceptor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingInterceptor.java b/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingInterceptor.java
index 68df95a..8fa8e12 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingInterceptor.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroAuthorizingInterceptor.java
@@ -15,7 +15,6 @@ package org.apache.aurora.scheduler.http.api.security;
 
 import java.lang.reflect.Method;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Provider;
@@ -32,6 +31,8 @@ import org.apache.aurora.scheduler.spi.Permissions.Domain;
 import org.apache.aurora.scheduler.thrift.Responses;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -48,7 +49,7 @@ import static com.google.common.base.Preconditions.checkState;
  * {@code api:snapshot} permission.
  */
 class ShiroAuthorizingInterceptor implements MethodInterceptor {
-  private static final Logger LOG = Logger.getLogger(ShiroAuthorizingInterceptor.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(ShiroAuthorizingInterceptor.class);
 
   @VisibleForTesting
   static final String SHIRO_AUTHORIZATION_FAILURES = "shiro_authorization_failures";
@@ -88,7 +89,7 @@ class ShiroAuthorizingInterceptor implements MethodInterceptor {
       shiroAdminAuthorizationFailures.incrementAndGet();
       String responseMessage =
           "Subject " + subject.getPrincipal() + " lacks permission " + checkedPermission;
-      LOG.warning(responseMessage);
+      LOG.warn(responseMessage);
       // TODO(ksweeney): 403 FORBIDDEN would be a more accurate translation of this response code.
       return Responses.addMessage(Responses.empty(), ResponseCode.AUTH_FAILED, responseMessage);
     }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroKerberosAuthenticationFilter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroKerberosAuthenticationFilter.java b/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroKerberosAuthenticationFilter.java
index a18903e..2b7621a 100644
--- a/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroKerberosAuthenticationFilter.java
+++ b/src/main/java/org/apache/aurora/scheduler/http/api/security/ShiroKerberosAuthenticationFilter.java
@@ -14,7 +14,6 @@
 package org.apache.aurora.scheduler.http.api.security;
 
 import java.io.IOException;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Provider;
@@ -29,12 +28,14 @@ import com.google.common.base.Optional;
 import org.apache.aurora.scheduler.http.AbstractFilter;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.subject.Subject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
 public class ShiroKerberosAuthenticationFilter extends AbstractFilter {
   private static final Logger LOG =
-      Logger.getLogger(ShiroKerberosAuthenticationFilter.class.getName());
+      LoggerFactory.getLogger(ShiroKerberosAuthenticationFilter.class);
 
   /**
    * From http://tools.ietf.org/html/rfc4559.
@@ -57,7 +58,7 @@ public class ShiroKerberosAuthenticationFilter extends AbstractFilter {
     Optional<String> authorizationHeaderValue =
         Optional.fromNullable(request.getHeader(HttpHeaders.AUTHORIZATION));
     if (authorizationHeaderValue.isPresent()) {
-      LOG.fine("Authorization header is present");
+      LOG.debug("Authorization header is present");
       AuthorizeHeaderToken token;
       try {
         token = new AuthorizeHeaderToken(authorizationHeaderValue.get());
@@ -70,7 +71,7 @@ public class ShiroKerberosAuthenticationFilter extends AbstractFilter {
         subjectProvider.get().login(token);
         chain.doFilter(request, response);
       } catch (AuthenticationException e) {
-        LOG.warning("Login failed: " + e.getMessage());
+        LOG.warn("Login failed: " + e.getMessage());
         sendChallenge(response);
       }
     } else {

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java b/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
index cb89be2..21855e1 100644
--- a/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
+++ b/src/main/java/org/apache/aurora/scheduler/log/mesos/MesosLog.java
@@ -21,8 +21,6 @@ import java.util.NoSuchElementException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.annotation.Nullable;
 import javax.inject.Inject;
@@ -47,6 +45,8 @@ import org.apache.aurora.common.stats.Stats;
 import org.apache.aurora.scheduler.log.mesos.LogInterface.ReaderInterface;
 import org.apache.aurora.scheduler.log.mesos.LogInterface.WriterInterface;
 import org.apache.mesos.Log;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.PARAMETER;
@@ -58,7 +58,7 @@ import static java.util.Objects.requireNonNull;
  */
 public class MesosLog implements org.apache.aurora.scheduler.log.Log {
 
-  private static final Logger LOG = Logger.getLogger(MesosLog.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(MesosLog.class);
 
   /**
    * Binding annotation for the opaque value of a log noop entry.
@@ -257,9 +257,7 @@ public class MesosLog implements org.apache.aurora.scheduler.log.Log {
             long start = System.nanoTime();
             try {
               Log.Position p = log.position(Longs.toByteArray(position));
-              if (LOG.isLoggable(Level.FINE)) {
-                LOG.fine("Reading position " + position + " from the log");
-              }
+              LOG.debug("Reading position {} from the log", position);
               List<Log.Entry> entries = reader.read(p, p, readTimeout, readTimeUnit);
 
               // N.B. HACK! There is currently no way to "increment" a position. Until the Mesos

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java b/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
index 5c6f6a4..2255dd4 100644
--- a/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/mesos/CommandLineDriverSettingsModule.java
@@ -19,7 +19,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
-import java.util.logging.Logger;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Optional;
@@ -34,6 +33,8 @@ import org.apache.aurora.common.args.constraints.NotNull;
 import org.apache.aurora.common.quantity.Amount;
 import org.apache.aurora.common.quantity.Time;
 import org.apache.mesos.Protos;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static org.apache.mesos.Protos.FrameworkInfo;
 import static org.apache.mesos.Protos.FrameworkInfo.Capability;
@@ -45,7 +46,7 @@ import static org.apache.mesos.Protos.FrameworkInfo.Capability.Type.REVOCABLE_RE
 public class CommandLineDriverSettingsModule extends AbstractModule {
 
   private static final Logger LOG =
-      Logger.getLogger(CommandLineDriverSettingsModule.class.getName());
+      LoggerFactory.getLogger(CommandLineDriverSettingsModule.class);
 
   @NotNull
   @CmdLine(name = "mesos_master_address",
@@ -115,12 +116,13 @@ public class CommandLineDriverSettingsModule extends AbstractModule {
       try {
         properties = parseCredentials(new FileInputStream(FRAMEWORK_AUTHENTICATION_FILE.get()));
       } catch (FileNotFoundException e) {
-        LOG.severe("Authentication File not Found");
+        LOG.error("Authentication File not Found");
         throw Throwables.propagate(e);
       }
 
-      LOG.info(String.format("Connecting to master using authentication (principal: %s).",
-          properties.get(PRINCIPAL_KEY)));
+      LOG.info(
+          "Connecting to master using authentication (principal: {}).",
+          properties.get(PRINCIPAL_KEY));
 
       return Optional.of(Protos.Credential.newBuilder()
           .setPrincipal(properties.getProperty(PRINCIPAL_KEY))
@@ -160,7 +162,7 @@ public class CommandLineDriverSettingsModule extends AbstractModule {
     try {
       properties.load(credentialsStream);
     } catch (IOException e) {
-      LOG.severe("Unable to load authentication file");
+      LOG.error("Unable to load authentication file");
       throw Throwables.propagate(e);
     }
     Preconditions.checkState(properties.containsKey(PRINCIPAL_KEY),

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java
index 469108a..cc06b85 100644
--- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java
@@ -17,8 +17,6 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import java.util.List;
 import java.util.concurrent.Executor;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 import javax.inject.Qualifier;
@@ -52,6 +50,8 @@ import org.apache.mesos.Protos.SlaveID;
 import org.apache.mesos.Protos.TaskStatus;
 import org.apache.mesos.Scheduler;
 import org.apache.mesos.SchedulerDriver;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
@@ -98,22 +98,43 @@ public class MesosSchedulerImpl implements Scheduler {
   @Inject
   public MesosSchedulerImpl(
       Storage storage,
-      final Lifecycle lifecycle,
+      Lifecycle lifecycle,
       TaskStatusHandler taskStatusHandler,
       OfferManager offerManager,
       EventSink eventSink,
       @SchedulerExecutor Executor executor,
-      Logger log,
       CachedCounters counters) {
 
+    this(
+        storage,
+        lifecycle,
+        taskStatusHandler,
+        offerManager,
+        eventSink,
+        executor,
+        counters,
+        LoggerFactory.getLogger(MesosSchedulerImpl.class));
+  }
+
+  @VisibleForTesting
+  MesosSchedulerImpl(
+      Storage storage,
+      Lifecycle lifecycle,
+      TaskStatusHandler taskStatusHandler,
+      OfferManager offerManager,
+      EventSink eventSink,
+      Executor executor,
+      CachedCounters counters,
+      Logger log) {
+
     this.storage = requireNonNull(storage);
     this.lifecycle = requireNonNull(lifecycle);
     this.taskStatusHandler = requireNonNull(taskStatusHandler);
     this.offerManager = requireNonNull(offerManager);
     this.eventSink = requireNonNull(eventSink);
     this.executor = requireNonNull(executor);
-    this.log = requireNonNull(log);
     this.counters = requireNonNull(counters);
+    this.log = requireNonNull(log);
   }
 
   @Override
@@ -138,7 +159,7 @@ public class MesosSchedulerImpl implements Scheduler {
 
   @Override
   public void disconnected(SchedulerDriver schedulerDriver) {
-    log.warning("Framework disconnected.");
+    log.warn("Framework disconnected.");
     counters.get("scheduler_framework_disconnects").get();
     eventSink.post(new DriverDisconnected());
   }
@@ -162,9 +183,7 @@ public class MesosSchedulerImpl implements Scheduler {
           IHostAttributes attributes =
               AttributeStore.Util.mergeOffer(storeProvider.getAttributeStore(), offer);
           storeProvider.getAttributeStore().saveHostAttributes(attributes);
-          if (log.isLoggable(Level.FINE)) {
-            log.log(Level.FINE, String.format("Received offer: %s", offer));
-          }
+          log.debug("Received offer: {}", offer);
           counters.get("scheduler_resource_offers").incrementAndGet();
           offerManager.addOffer(new HostOffer(offer, attributes));
         }
@@ -181,9 +200,7 @@ public class MesosSchedulerImpl implements Scheduler {
   private static void logStatusUpdate(Logger logger, TaskStatus status) {
     // Periodic task reconciliation runs generate a large amount of no-op messages.
     // Suppress logging for reconciliation status updates by default.
-    Level level = status.hasReason() && status.getReason() == REASON_RECONCILIATION
-        ? Level.FINE
-        : Level.INFO;
+    boolean debugLevel = status.hasReason() && status.getReason() == REASON_RECONCILIATION;
 
     StringBuilder message = new StringBuilder("Received status update for task ")
         .append(status.getTaskId().getValue())
@@ -198,7 +215,11 @@ public class MesosSchedulerImpl implements Scheduler {
     if (status.hasMessage()) {
       message.append(": ").append(status.getMessage());
     }
-    logger.log(level, message.toString());
+    if (debugLevel) {
+      logger.debug(message.toString());
+    } else {
+      logger.info(message.toString());
+    }
   }
 
   private static final Function<Double, Long> SECONDS_TO_MICROS = seconds -> (long) (seconds * 1E6);
@@ -218,7 +239,7 @@ public class MesosSchedulerImpl implements Scheduler {
       // The status handler is responsible for acknowledging the update.
       taskStatusHandler.statusUpdate(status);
     } catch (SchedulerException e) {
-      log.log(Level.SEVERE, "Status update failed due to scheduler exception: " + e, e);
+      log.error("Status update failed due to scheduler exception: " + e, e);
       // We re-throw the exception here to trigger an abort of the driver.
       throw e;
     }
@@ -226,7 +247,7 @@ public class MesosSchedulerImpl implements Scheduler {
 
   @Override
   public void error(SchedulerDriver driver, String message) {
-    log.severe("Received error message: " + message);
+    log.error("Received error message: " + message);
     lifecycle.shutdown();
   }
 
@@ -246,6 +267,6 @@ public class MesosSchedulerImpl implements Scheduler {
       SlaveID slave,
       byte[] data) {
 
-    log.warning("Ignoring framework message.");
+    log.warn("Ignoring framework message.");
   }
 }

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
index 9ca5381..8fdadda 100644
--- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
+++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
@@ -14,8 +14,6 @@
 package org.apache.aurora.scheduler.mesos;
 
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.inject.Inject;
 
@@ -44,6 +42,8 @@ import org.apache.mesos.Protos.Resource;
 import org.apache.mesos.Protos.SlaveID;
 import org.apache.mesos.Protos.TaskID;
 import org.apache.mesos.Protos.TaskInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
 
@@ -64,7 +64,7 @@ public interface MesosTaskFactory {
 
   // TODO(wfarner): Move this class to its own file to reduce visibility to package private.
   class MesosTaskFactoryImpl implements MesosTaskFactory {
-    private static final Logger LOG = Logger.getLogger(MesosTaskFactoryImpl.class.getName());
+    private static final Logger LOG = LoggerFactory.getLogger(MesosTaskFactoryImpl.class);
     private static final String EXECUTOR_PREFIX = "thermos-";
 
     private final ExecutorSettings executorSettings;
@@ -103,7 +103,7 @@ public interface MesosTaskFactory {
       try {
         taskInBytes = ThriftBinaryCodec.encode(task.newBuilder());
       } catch (ThriftBinaryCodec.CodingException e) {
-        LOG.log(Level.SEVERE, "Unable to serialize task.", e);
+        LOG.error("Unable to serialize task.", e);
         throw new SchedulerException("Internal error.", e);
       }
 
@@ -116,10 +116,9 @@ public interface MesosTaskFactory {
               : ImmutableSet.of(),
           tierManager.getTier(task.getTask()));
 
-      if (LOG.isLoggable(Level.FINE)) {
-        LOG.fine("Setting task resources to "
-            + Iterables.transform(resources, Protobufs::toString));
-      }
+      LOG.debug(
+          "Setting task resources to {}",
+          Iterables.transform(resources, Protobufs::toString));
       TaskInfo.Builder taskBuilder =
           TaskInfo.newBuilder()
               .setName(JobKeys.canonicalString(Tasks.getJob(task)))

http://git-wip-us.apache.org/repos/asf/aurora/blob/9ed81a7d/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java b/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java
index acf48cf..5519323 100644
--- a/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java
@@ -14,7 +14,6 @@
 package org.apache.aurora.scheduler.mesos;
 
 import java.util.concurrent.Executor;
-import java.util.logging.Logger;
 
 import javax.inject.Singleton;
 
@@ -24,12 +23,14 @@ import com.google.inject.PrivateModule;
 import org.apache.aurora.scheduler.base.AsyncUtil;
 import org.apache.aurora.scheduler.events.PubsubEventModule;
 import org.apache.mesos.Scheduler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A module that creates a {@link Driver} binding.
  */
 public class SchedulerDriverModule extends AbstractModule {
-  private static final Logger LOG = Logger.getLogger(SchedulerDriverModule.class.getName());
+  private static final Logger LOG = LoggerFactory.getLogger(SchedulerDriverModule.class);
 
   @Override
   protected void configure() {


Mime
View raw message