Merge branch 'stable-2.15' into stable-2.16

* stable-2.15:
  build.md: Correct in-tree test command

Change-Id: I780971ba452746c4745025fcfa58203922d3d87f
diff --git a/WORKSPACE b/WORKSPACE
index 6ff88c5..081393f 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "ae1cd231b0262b2738e6c0593eb3c504209ad4f5",
+    commit = "ec989bb514e39447764057c60d3f9959bff8e153",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java
index 15f830a..6a020c5 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventHandler.java
@@ -14,8 +14,8 @@
 
 package com.ericsson.gerrit.plugins.eventslog;
 
-import com.google.gerrit.common.EventListener;
 import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.EventListener;
 import com.google.gerrit.server.events.ProjectEvent;
 import com.google.inject.Inject;
 import java.util.concurrent.ScheduledExecutorService;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java
index b888425..3f905c7 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventModule.java
@@ -15,10 +15,10 @@
 package com.ericsson.gerrit.plugins.eventslog;
 
 import com.ericsson.gerrit.plugins.eventslog.sql.EventsLogCleaner;
-import com.google.gerrit.common.EventListener;
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.extensions.events.ProjectDeletedListener;
 import com.google.gerrit.extensions.registration.DynamicSet;
+import com.google.gerrit.server.events.EventListener;
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
 import com.google.inject.Scopes;
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServlet.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServlet.java
index f05e33d..c04d6ac 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServlet.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServlet.java
@@ -14,6 +14,7 @@
 
 package com.ericsson.gerrit.plugins.eventslog;
 
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.extensions.restapi.Url;
 import com.google.gerrit.server.CurrentUser;
 import com.google.inject.Inject;
@@ -27,12 +28,10 @@
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @Singleton
 class EventsRestApiServlet extends HttpServlet {
-  private static final Logger log = LoggerFactory.getLogger(EventsRestApiServlet.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
   private static final long serialVersionUID = 1L;
 
   private final EventStore store;
@@ -63,13 +62,13 @@
         out.write(event + "\n");
       }
     } catch (MalformedQueryException e) {
-      log.error("Bad Request", e);
+      log.atSevere().withCause(e).log("Bad Request");
       rsp.sendError(HttpServletResponse.SC_BAD_REQUEST);
     } catch (ServiceUnavailableException e) {
-      log.error("Service Unavailable", e);
+      log.atSevere().withCause(e).log("Service Unavailable");
       rsp.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
     } catch (EventsLogException e) {
-      log.error("Could not query from request parameters", e);
+      log.atSevere().withCause(e).log("Could not query from request parameters");
     }
   }
 
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLClient.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLClient.java
index 9e538e6..b554ecd 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLClient.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLClient.java
@@ -29,6 +29,7 @@
 import com.google.common.base.Supplier;
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.ListMultimap;
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.server.events.ProjectEvent;
 import com.google.gerrit.server.events.SupplierSerializer;
 import com.google.gson.Gson;
@@ -42,11 +43,9 @@
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 class SQLClient {
-  private static final Logger log = LoggerFactory.getLogger(SQLClient.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
   private final Gson gson;
   private final SQLDialect databaseDialect;
 
@@ -144,9 +143,11 @@
               TABLE_NAME,
               DATE_ENTRY,
               new Timestamp(System.currentTimeMillis() - MILLISECONDS.convert(maxAge, DAYS))));
-      log.info("Events older than {} days were removed from database {}", maxAge, ds.getPoolName());
+      log.atInfo().log(
+          "Events older than %d days were removed from database %s", maxAge, ds.getPoolName());
     } catch (SQLException e) {
-      log.warn("Cannot remove old event entries from database {}", ds.getPoolName(), e);
+      log.atWarning().withCause(e).log(
+          "Cannot remove old event entries from database %s", ds.getPoolName());
     }
   }
 
@@ -159,7 +160,7 @@
     try {
       execute(format("DELETE FROM %s WHERE project = '%s'", TABLE_NAME, project));
     } catch (SQLException e) {
-      log.warn("Cannot remove project {} events from database", project, e);
+      log.atWarning().withCause(e).log("Cannot remove project %s events from database", project);
     }
   }
 
diff --git a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java
index 8a06904..6289c2d 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStore.java
@@ -22,17 +22,16 @@
 import com.ericsson.gerrit.plugins.eventslog.EventsLogConfig;
 import com.ericsson.gerrit.plugins.eventslog.EventsLogException;
 import com.ericsson.gerrit.plugins.eventslog.ServiceUnavailableException;
-import com.google.gerrit.common.TimeUtil;
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.events.ProjectEvent;
 import com.google.gerrit.server.permissions.PermissionBackend;
 import com.google.gerrit.server.permissions.PermissionBackendException;
 import com.google.gerrit.server.permissions.ProjectPermission;
+import com.google.gerrit.server.util.time.TimeUtil;
 import com.google.inject.Inject;
-import com.google.inject.Provider;
 import com.google.inject.Singleton;
 import java.io.IOException;
 import java.net.ConnectException;
@@ -46,15 +45,12 @@
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @Singleton
 class SQLStore implements EventStore, LifecycleListener {
-  private static final Logger log = LoggerFactory.getLogger(SQLStore.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
   private static final String H2_DB_SUFFIX = ".h2.db";
 
-  private final Provider<CurrentUser> userProvider;
   private final EventsLogCleaner eventsLogCleaner;
   private SQLClient eventsDb;
   private SQLClient localEventsDb;
@@ -71,7 +67,6 @@
 
   @Inject
   SQLStore(
-      Provider<CurrentUser> userProvider,
       EventsLogConfig cfg,
       @EventsDb SQLClient eventsDb,
       @LocalEventsDb SQLClient localEventsDb,
@@ -83,7 +78,6 @@
     this.waitTime = cfg.getWaitTime();
     this.connectTime = cfg.getConnectTime();
     this.copyLocal = cfg.getCopyLocal();
-    this.userProvider = userProvider;
     this.eventsDb = eventsDb;
     this.localEventsDb = localEventsDb;
     this.eventsLogCleaner = eventsLogCleaner;
@@ -121,14 +115,14 @@
       String projectName = entry.getKey();
       try {
         permissionBackend
-            .user(userProvider)
+            .currentUser()
             .project(new Project.NameKey(projectName))
             .check(ProjectPermission.ACCESS);
         entries.addAll(entry.getValue());
       } catch (AuthException e) {
         // Ignore
       } catch (PermissionBackendException e) {
-        log.warn("Cannot check project access permission", e);
+        log.atWarning().withCause(e).log("Cannot check project access permission");
       }
     }
     return entries.stream().sorted().map(SQLEntry::getEvent).collect(toList());
@@ -152,14 +146,14 @@
       try {
         getEventsDb().storeEvent(event);
       } catch (SQLException e) {
-        log.warn("Cannot store ChangeEvent for: {}", projectName.get(), e);
+        log.atWarning().withCause(e).log("Cannot store ChangeEvent for: %s}", projectName.get());
         if (e.getCause() instanceof ConnectException
             || e.getMessage().contains("terminating connection")) {
           done = false;
           try {
             retryIfAllowed(failedConnections);
           } catch (InterruptedException e1) {
-            log.warn("Cannot store ChangeEvent for {}: Interrupted", projectName.get());
+            log.atWarning().log("Cannot store ChangeEvent for %s: Interrupted", projectName.get());
             Thread.currentThread().interrupt();
             return;
           }
@@ -171,10 +165,10 @@
 
   private void retryIfAllowed(int failedConnections) throws InterruptedException {
     if (failedConnections < maxTries - 1) {
-      log.info("Retrying store event");
+      log.atInfo().log("Retrying store event");
       Thread.sleep(waitTime);
     } else {
-      log.error("Failed to store event {} times", maxTries);
+      log.atSevere().log("Failed to store event %d times", maxTries);
       setOnline(false);
     }
   }
@@ -183,10 +177,9 @@
     try {
       getEventsDb().createDBIfNotCreated();
     } catch (SQLException e) {
-      log.warn(
+      log.atWarning().withCause(e).log(
           "Cannot start the database. Events will be stored locally"
-              + " until database connection can be established",
-          e);
+              + " until database connection can be established");
       setOnline(false);
     }
     if (online) {
@@ -223,14 +216,14 @@
     try {
       List<SQLEntry> entries = localEventsDb.getAll();
       if (entries.isEmpty()) {
-        log.debug("No events to restore from local");
+        log.atFine().log("No events to restore from local");
         return;
       }
       for (SQLEntry entry : entries) {
         restoreEvent(entry);
       }
     } catch (SQLException e) {
-      log.warn("Could not query all events from local", e);
+      log.atWarning().withCause(e).log("Could not query all events from local");
     }
     copyFile(copyLocal);
     localEventsDb.removeOldEvents(0);
@@ -240,7 +233,7 @@
     try {
       eventsDb.storeEvent(entry.getName(), entry.getTimestamp(), entry.getEvent());
     } catch (SQLException e) {
-      log.warn("Could not restore events from local", e);
+      log.atWarning().withCause(e).log("Could not restore events from local");
     }
   }
 
@@ -251,7 +244,7 @@
     public void run() {
       if (checkConnection()) {
         setOnline(true);
-        log.info("Connected to database");
+        log.atInfo().log("Connected to database");
       }
     }
 
@@ -261,12 +254,12 @@
     }
 
     private boolean checkConnection() {
-      log.debug("Checking database connection...");
+      log.atFine().log("Checking database connection...");
       try {
         eventsDb.queryOne();
         return true;
       } catch (SQLException e) {
-        log.error("Problem checking database connection", e);
+        log.atSevere().withCause(e).log("Problem checking database connection");
         return false;
       }
     }
@@ -277,7 +270,8 @@
     try {
       exists = localEventsDb.dbExists();
     } catch (SQLException e) {
-      log.warn("Could not check existence of local database, assume that it doesn't exist", e);
+      log.atWarning().withCause(e).log(
+          "Could not check existence of local database, assume that it doesn't exist");
     }
     return exists;
   }
@@ -293,7 +287,7 @@
     try {
       Files.copy(file, copyFile);
     } catch (IOException e) {
-      log.warn("Could not copy local database file with timestamp", e);
+      log.atWarning().withCause(e).log("Could not copy local database file with timestamp");
     }
   }
 }
diff --git a/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java b/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
index 96ce35d..68b9801 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
@@ -28,14 +28,13 @@
 import com.ericsson.gerrit.plugins.eventslog.MalformedQueryException;
 import com.ericsson.gerrit.plugins.eventslog.ServiceUnavailableException;
 import com.google.common.collect.ImmutableList;
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.events.ProjectEvent;
 import com.google.gerrit.server.permissions.PermissionBackend;
 import com.google.gerrit.server.permissions.PermissionBackendException;
 import com.google.gerrit.server.permissions.ProjectPermission;
 import com.google.gson.Gson;
-import com.google.inject.Provider;
 import com.zaxxer.hikari.HikariConfig;
 import java.net.ConnectException;
 import java.sql.Connection;
@@ -57,12 +56,10 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @RunWith(MockitoJUnitRunner.class)
 public class SQLStoreTest {
-  private static final Logger log = LoggerFactory.getLogger(SQLStoreTest.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
   private static final String TEST_URL = "jdbc:h2:mem:" + TABLE_NAME;
   private static final String TEST_LOCAL_URL = "jdbc:h2:mem:test";
   private static final String TEST_OPTIONS = "DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false";
@@ -70,7 +67,6 @@
   private static final String MSG = "message";
   private static final String GENERIC_QUERY = "SELECT * FROM " + TABLE_NAME;
 
-  @Mock private Provider<CurrentUser> userProviderMock;
   @Mock private EventsLogConfig cfgMock;
   @Mock private PermissionBackend permissionBackendMock;
   @Mock private PermissionBackend.ForProject forProjectMock;
@@ -110,7 +106,7 @@
 
   @Test
   public void storeThenQueryVisible() throws Exception {
-    when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+    when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
     when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
     doNothing().when(forProjectMock).check(ProjectPermission.ACCESS);
     setUpClient();
@@ -122,7 +118,7 @@
 
   @Test
   public void storeThenQueryNotVisible() throws Exception {
-    when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+    when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
     when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
     doThrow(new PermissionBackendException(""))
         .when(forProjectMock)
@@ -142,7 +138,7 @@
 
   @Test
   public void notReturnEventWithNoVisibilityInfo() throws Exception {
-    when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+    when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
     when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
     doThrow(new PermissionBackendException(""))
         .when(forProjectMock)
@@ -163,13 +159,7 @@
     doThrow(exceptions).doNothing().when(eventsDb).queryOne();
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -185,15 +175,10 @@
     setUpClientMock();
     doThrow(exceptions).doNothing().when(eventsDb).storeEvent(mockEvent);
     doThrow(exceptions).doNothing().when(eventsDb).queryOne();
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -206,15 +191,10 @@
     when(cfgMock.getMaxTries()).thenReturn(3);
     setUpClientMock();
     doThrow(new SQLException(MSG)).when(eventsDb).storeEvent(mockEvent);
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -229,15 +209,10 @@
     setUpClientMock();
     doThrow(exceptions).doNothing().when(eventsDb).storeEvent(mockEvent);
     doThrow(exceptions).doNothing().when(eventsDb).queryOne();
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -249,15 +224,10 @@
     setUpClientMock();
     doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
     doThrow(new SQLException()).when(eventsDb).queryOne();
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -268,7 +238,8 @@
   public void restoreEventsFromLocalDb() throws Exception {
     MockEvent mockEvent = new MockEvent();
     MockEvent mockEvent2 = new MockEvent("proj");
-    when(permissionBackendMock.user(userProviderMock)).thenReturn(withUserMock);
+
+    when(permissionBackendMock.currentUser()).thenReturn(withUserMock);
     when(withUserMock.project(any(Project.NameKey.class))).thenReturn(forProjectMock);
     doNothing().when(forProjectMock).check(ProjectPermission.ACCESS);
 
@@ -278,13 +249,7 @@
     localEventsDb = new SQLClient(config);
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     localEventsDb.createDBIfNotCreated();
     localEventsDb.storeEvent(mockEvent);
@@ -295,6 +260,9 @@
     Gson gson = new Gson();
     String json = gson.toJson(mockEvent);
     String json2 = gson.toJson(mockEvent2);
+
+    assertThat(events).containsExactly(json, json2);
+
     assertThat(events).containsExactly(json, json2).inOrder();
   }
 
@@ -303,15 +271,10 @@
     setUpClientMock();
     doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
     doThrow(new SQLException()).when(eventsDb).queryOne();
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     verify(localEventsDb).createDBIfNotCreated();
@@ -322,15 +285,10 @@
     setUpClientMock();
     doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
     doThrow(new SQLException()).when(eventsDb).queryOne();
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -343,15 +301,10 @@
     when(cfgMock.getMaxTries()).thenReturn(0);
     doThrow(new SQLException(new ConnectException())).when(eventsDb).createDBIfNotCreated();
     doThrow(new SQLException()).when(eventsDb).queryOne();
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     store.storeEvent(mockEvent);
@@ -359,17 +312,13 @@
   }
 
   private void setUpClient() {
+
     eventsDb = new SQLClient(config);
     localEventsDb = new SQLClient(config);
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
+
     store.start();
   }
 
@@ -391,15 +340,10 @@
     localEventsDb = mock(SQLClient.class);
     when(localEventsDb.dbExists()).thenReturn(true);
     when(localEventsDb.getAll()).thenReturn(ImmutableList.of(mock(SQLEntry.class)));
+
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     poolMock.scheduleWithFixedDelay(store.new CheckConnectionTask(), 0, 0, TimeUnit.MILLISECONDS);
@@ -433,13 +377,7 @@
 
     store =
         new SQLStore(
-            userProviderMock,
-            cfgMock,
-            eventsDb,
-            localEventsDb,
-            poolMock,
-            permissionBackendMock,
-            logCleanerMock);
+            cfgMock, eventsDb, localEventsDb, poolMock, permissionBackendMock, logCleanerMock);
 
     store.start();
     verify(eventsDb).queryOne();
@@ -474,7 +412,7 @@
     @Override
     public ScheduledFuture<?> scheduleWithFixedDelay(
         Runnable command, long initialDelay, long delay, TimeUnit unit) {
-      log.info(command.toString());
+      log.atInfo().log(command.toString());
       command.run();
       return null;
     }