Migrate to Flogger

Change-Id: I71dec3e843024eee6377fb2bf0e4e79dc9a36fa8
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/Configuration.java
index d99d1e2..a0592dd 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/Configuration.java
@@ -19,6 +19,7 @@
 import static java.util.stream.Collectors.toList;
 
 import com.google.common.base.Strings;
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.extensions.annotations.PluginData;
 import com.google.gerrit.extensions.annotations.PluginName;
 import com.google.gerrit.server.config.ConfigUtil;
@@ -33,12 +34,10 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Pattern;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @Singleton
 public class Configuration {
-  private static final Logger log = LoggerFactory.getLogger(Configuration.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
   private static final String DELETED_PROJECTS_PARENT = "Deleted-Projects";
   private static final long DEFAULT_ARCHIVE_DURATION_DAYS = 180;
 
@@ -113,11 +112,9 @@
     try {
       return Files.createDirectories(Paths.get(configValue));
     } catch (Exception e) {
-      log.warn(
-          "Failed to create folder {}: {}; using default path: {}",
-          configValue,
-          e.getMessage(),
-          pluginData);
+      log.atWarning().log(
+          "Failed to create folder %s: %s; using default path: %s",
+          configValue, e.getMessage(), pluginData);
       return pluginData.toPath();
     }
   }
@@ -127,10 +124,9 @@
       return ConfigUtil.getTimeUnit(
           configValue, DAYS.toMillis(DEFAULT_ARCHIVE_DURATION_DAYS), MILLISECONDS);
     } catch (IllegalArgumentException e) {
-      log.warn(
-          "The configured archive duration is not valid: {}; using the default value: {} days",
-          e.getMessage(),
-          DEFAULT_ARCHIVE_DURATION_DAYS);
+      log.atWarning().log(
+          "The configured archive duration is not valid: %s; using the default value: %d days",
+          e.getMessage(), DEFAULT_ARCHIVE_DURATION_DAYS);
       return DAYS.toMillis(DEFAULT_ARCHIVE_DURATION_DAYS);
     }
   }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/database/DatabaseDeleteHandler.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/database/DatabaseDeleteHandler.java
index fa4296d..5dff8c5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/database/DatabaseDeleteHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/database/DatabaseDeleteHandler.java
@@ -16,6 +16,7 @@
 
 import static java.util.Collections.singleton;
 
+import com.google.common.flogger.FluentLogger;
 import com.google.gerrit.extensions.registration.DynamicItem;
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.client.Change;
@@ -45,11 +46,9 @@
 import java.util.Collections;
 import java.util.List;
 import org.eclipse.jgit.errors.ConfigInvalidException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class DatabaseDeleteHandler {
-  private static final Logger log = LoggerFactory.getLogger(DatabaseDeleteHandler.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
 
   private final Provider<ReviewDb> dbProvider;
   private final StarredChangesUtil starredChangesUtil;
@@ -136,7 +135,7 @@
       try {
         indexer.delete(id);
       } catch (IOException e) {
-        log.error("Failed to delete change {} from index", id, e);
+        log.atSevere().withCause(e).log("Failed to delete change %s from index", id);
       }
     }
   }
@@ -165,11 +164,9 @@
                     accountId,
                     u -> u.deleteProjectWatches(singleton(watchKey)));
           } catch (IOException | ConfigInvalidException e) {
-            log.error(
-                "Removing watch entry for user {} in project {} failed.",
-                a.getUserName(),
-                project.getName(),
-                e);
+            log.atSevere().withCause(e).log(
+                "Removing watch entry for user %s in project %s failed.",
+                a.getUserName(), project.getName());
           }
         }
       }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/ArchiveRepositoryRemover.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/ArchiveRepositoryRemover.java
index 4cbf83b..0b343c9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/ArchiveRepositoryRemover.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/ArchiveRepositoryRemover.java
@@ -18,6 +18,7 @@
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static java.util.concurrent.TimeUnit.SECONDS;
 
+import com.google.common.flogger.FluentLogger;
 import com.google.common.io.MoreFiles;
 import com.google.gerrit.extensions.annotations.PluginName;
 import com.google.gerrit.extensions.events.LifecycleListener;
@@ -36,8 +37,6 @@
 import java.util.List;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 @Singleton
 public class ArchiveRepositoryRemover implements LifecycleListener {
@@ -75,7 +74,7 @@
 }
 
 class RepositoryCleanupTask implements Runnable {
-  private static final Logger logger = LoggerFactory.getLogger(RepositoryCleanupTask.class);
+  private static final FluentLogger logger = FluentLogger.forEnclosingClass();
 
   private final Configuration config;
   private final String pluginName;
@@ -88,9 +87,9 @@
 
   @Override
   public void run() {
-    logger.info("Cleaning up expired git repositories...");
+    logger.atInfo().log("Cleaning up expired git repositories...");
     cleanUpOverdueRepositories();
-    logger.info("Cleaning up expired git repositories... Done");
+    logger.atInfo().log("Cleaning up expired git repositories... Done");
   }
 
   @Override
@@ -105,7 +104,8 @@
       try {
         MoreFiles.deleteRecursively(path, ALLOW_INSECURE);
       } catch (IOException e) {
-        logger.warn("Error trying to clean the archived git repository: {}", path, e);
+        logger.atWarning().withCause(e).log(
+            "Error trying to clean the archived git repository: %s", path);
       }
     }
   }
@@ -123,7 +123,8 @@
           files.add(repo.toPath());
         }
       } catch (IOException e) {
-        logger.warn("Error trying to get last modified time for file: {} ", repo.toPath(), e);
+        logger.atWarning().withCause(e).log(
+            "Error trying to get last modified time for file: %s", repo.toPath());
       }
     }
     return files;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java
index bd63e1f..7b84951 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/DeleteTrashFolders.java
@@ -17,6 +17,7 @@
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.Sets;
+import com.google.common.flogger.FluentLogger;
 import com.google.common.io.MoreFiles;
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.server.config.GerritServerConfig;
@@ -31,11 +32,9 @@
 import java.util.regex.Pattern;
 import java.util.stream.Stream;
 import org.eclipse.jgit.lib.Config;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class DeleteTrashFolders implements LifecycleListener {
-  private static final Logger log = LoggerFactory.getLogger(DeleteTrashFolders.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
 
   static class TrashFolderPredicate {
 
@@ -98,7 +97,7 @@
           .filter(TrashFolderPredicate::match)
           .forEach(this::recursivelyDelete);
     } catch (IOException e) {
-      log.error("Failed to evaluate {}", folder, e);
+      log.atSevere().withCause(e).log("Failed to evaluate %s", folder);
     }
   }
 
@@ -111,7 +110,7 @@
     try {
       MoreFiles.deleteRecursively(folder, ALLOW_INSECURE);
     } catch (IOException e) {
-      log.error("Failed to delete {}", folder, e);
+      log.atSevere().withCause(e).log("Failed to delete %s", folder);
     }
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java
index 003f154..d8a4883 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java
@@ -16,6 +16,7 @@
 
 import static com.google.common.io.RecursiveDeleteOption.ALLOW_INSECURE;
 
+import com.google.common.flogger.FluentLogger;
 import com.google.common.io.MoreFiles;
 import com.google.gerrit.extensions.api.changes.NotifyHandling;
 import com.google.gerrit.extensions.events.ProjectDeletedListener;
@@ -37,11 +38,9 @@
 import org.eclipse.jgit.errors.RepositoryNotFoundException;
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.RepositoryCache;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class FilesystemDeleteHandler {
-  private static final Logger log = LoggerFactory.getLogger(FilesystemDeleteHandler.class);
+  private static final FluentLogger log = FluentLogger.forEnclosingClass();
   private static final DateTimeFormatter FORMAT =
       DateTimeFormatter.ofPattern("YYYYMMddHHmmss").withZone(ZoneId.of("UTC"));
 
@@ -88,7 +87,7 @@
       FileUtils.copyDirectory(renamedProjectDir.toFile(), archive.toFile());
       MoreFiles.deleteRecursively(renamedProjectDir, ALLOW_INSECURE);
     } catch (IOException e) {
-      log.warn("Error trying to archive {}", renamedProjectDir, e);
+      log.atWarning().withCause(e).log("Error trying to archive %s", renamedProjectDir);
     }
   }
 
@@ -107,7 +106,7 @@
       recursivelyDeleteEmptyParents(repoPath.toFile().getParentFile(), basePath.toFile());
     } catch (IOException e) {
       // Only log if delete failed - repo already moved to trash.
-      log.warn("Error trying to delete {} or its parents", trash, e);
+      log.atWarning().withCause(e).log("Error trying to delete %s or its parents", trash);
     } finally {
       sendProjectDeletedEvent(projectName);
     }
@@ -163,7 +162,7 @@
       try {
         l.onProjectDeleted(event);
       } catch (RuntimeException e) {
-        log.warn("Failure in ProjectDeletedListener", e);
+        log.atWarning().withCause(e).log("Failure in ProjectDeletedListener");
       }
     }
   }