AutoMerger: Log caller

Looking at traces of pushing a merge commit we can see that the same
auto merge commit is created. Logs the caller so that we can see from
where the auto merge creation is triggered.

Bug: Google b/307063909
Bug: Google b/317823865
Release-Notes: skip
Change-Id: Ia37c83209d29b855449caf2885880208d3e4c058
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/java/com/google/gerrit/server/patch/AutoMerger.java b/java/com/google/gerrit/server/patch/AutoMerger.java
index 55c0cac..a7f04ff 100644
--- a/java/com/google/gerrit/server/patch/AutoMerger.java
+++ b/java/com/google/gerrit/server/patch/AutoMerger.java
@@ -28,6 +28,7 @@
 import com.google.gerrit.server.config.GerritServerConfig;
 import com.google.gerrit.server.git.InMemoryInserter;
 import com.google.gerrit.server.git.MergeUtil;
+import com.google.gerrit.server.logging.CallerFinder;
 import com.google.gerrit.server.logging.Metadata;
 import com.google.gerrit.server.update.RepoView;
 import com.google.inject.Inject;
@@ -99,6 +100,7 @@
   private final boolean save;
   private final boolean useDiff3;
   private final ThreeWayMergeStrategy configuredMergeStrategy;
+  private final CallerFinder callerFinder;
 
   @Inject
   AutoMerger(
@@ -125,6 +127,7 @@
     this.useDiff3 = diff3ConflictView(cfg);
     this.gerritIdentProvider = gerritIdentProvider;
     this.configuredMergeStrategy = MergeUtil.getMergeStrategy(cfg);
+    this.callerFinder = CallerFinder.builder().addTarget(AutoMerger.class).build();
   }
 
   /**
@@ -250,8 +253,9 @@
     ObjectId treeId;
     if (couldMerge) {
       treeId = m.getResultTreeId();
-      logger.atFine().log(
-          "AutoMerge treeId=%s (no conflicts, inserter: %s)", treeId.name(), m.getObjectInserter());
+      logger.atSevere().log(
+          "AutoMerge treeId=%s (no conflicts, inserter: %s, caller: %s)",
+          treeId.name(), m.getObjectInserter(), callerFinder.findCallerLazy());
     } else {
       treeId =
           MergeUtil.mergeWithConflicts(
@@ -264,7 +268,9 @@
               merge.getParent(1),
               m.getMergeResults(),
               useDiff3);
-      logger.atFine().log("AutoMerge treeId=%s (with conflicts, inserter: %s)", treeId.name(), ins);
+      logger.atSevere().log(
+          "AutoMerge treeId=%s (with conflicts, inserter: %s, caller: %s)",
+          treeId.name(), ins, callerFinder.findCallerLazy());
     }
 
     rw.parseHeaders(merge);