Migrate all remaining eligible usages of java.util.Logger in the Bazel codebase to Flogger. A few usages are preserved because they do things like change the logger configuration, which Flogger does not easily support.

PiperOrigin-RevId: 313472123
diff --git a/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java b/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java
index 3b42a29..db26e64 100644
--- a/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java
+++ b/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java
@@ -13,12 +13,15 @@
 // limitations under the License.
 package com.google.devtools.common.options;
 
-import com.google.common.base.Joiner;
+import static java.util.stream.Collectors.joining;
+
 import com.google.common.base.Verify;
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Multimap;
+import com.google.common.flogger.GoogleLogger;
+import com.google.common.flogger.LazyArgs;
 import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.AllowValues;
 import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.DisallowValues;
 import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.FlagPolicy;
@@ -36,8 +39,6 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.stream.Collectors;
 import javax.annotation.Nullable;
 
 /**
@@ -47,8 +48,7 @@
  * <p>"Flag" and "Option" are used interchangeably in this file.
  */
 public final class InvocationPolicyEnforcer {
-
-  private static final Logger logger = Logger.getLogger(InvocationPolicyEnforcer.class.getName());
+  private static final GoogleLogger logger = GoogleLogger.forEnclosingClass();
 
   private static final String INVOCATION_POLICY_SOURCE = "Invocation policy";
   @Nullable private final InvocationPolicy invocationPolicy;
@@ -134,9 +134,8 @@
         // This flag doesn't exist. We are deliberately lenient if the flag policy has a flag
         // we don't know about. This is for better future proofing so that as new flags are added,
         // new policies can use the new flags without worrying about older versions of Bazel.
-        logger.log(
-            loglevel,
-            String.format("Flag '%s' specified by invocation policy does not exist", flagName));
+        logger.at(loglevel).log(
+            "Flag '%s' specified by invocation policy does not exist", flagName);
         continue;
       }
 
@@ -187,10 +186,9 @@
           throw new PolicyOperationNotSetException(flagName);
 
         default:
-          logger.warning(
-              String.format(
-                  "Unknown operation '%s' from invocation policy for flag '%s'",
-                  flagPolicy.policy.getOperationCase(), flagName));
+          logger.atWarning().log(
+              "Unknown operation '%s' from invocation policy for flag '%s'",
+              flagPolicy.policy.getOperationCase(), flagName);
           break;
       }
     }
@@ -272,11 +270,9 @@
       if (optionDescription == null) {
         // InvocationPolicy ignores policy on non-existing flags by design, for version
         // compatibility.
-        logger.log(
-            loglevel,
-            String.format(
-                "Flag '%s' specified by invocation policy does not exist, and will be ignored",
-                policy.getFlagName()));
+        logger.at(loglevel).log(
+            "Flag '%s' specified by invocation policy does not exist, and will be ignored",
+            policy.getFlagName());
         continue;
       }
       FlagPolicyWithContext policyWithContext =
@@ -329,25 +325,17 @@
       return ImmutableList.of(originalPolicy);
     }
 
-    if (logger.isLoggable(loglevel)) {
-      // Log the expansion. This is only really useful for understanding the invocation policy
-      // itself.
-      List<String> subflagNames = new ArrayList<>(subflags.size());
-      for (ParsedOptionDescription subflag : subflags) {
-        subflagNames.add("--" + subflag.getOptionDefinition().getOptionName());
-      }
-
-      logger.logp(
-          loglevel,
-          "InvocationPolicyEnforcer",
-          "expandPolicy",
-          String.format(
-              "Expanding %s on option %s to its %s: %s.",
-              originalPolicy.policy.getOperationCase(),
-              originalPolicy.policy.getFlagName(),
-              isExpansion ? "expansions" : "implied flags",
-              Joiner.on("; ").join(subflagNames)));
-    }
+    // Log the expansion. This is only really useful for understanding the invocation policy itself.
+    logger.at(loglevel).log(
+        "Expanding %s on option %s to its %s: %s.",
+        originalPolicy.policy.getOperationCase(),
+        originalPolicy.policy.getFlagName(),
+        isExpansion ? "expansions" : "implied flags",
+        LazyArgs.lazy(
+            () ->
+                subflags.stream()
+                    .map(f -> "--" + f.getOptionDefinition().getOptionName())
+                    .collect(joining("; "))));
 
     // Repeated flags are special, and could set multiple times in an expansion, with the user
     // expecting both values to be valid. Collect these separately.
@@ -392,11 +380,10 @@
       OptionInstanceOrigin originOfSubflags =
           new OptionInstanceOrigin(
               arbitraryFirstOptionOrigin.getPriority(),
-              origins
-                  .stream()
+              origins.stream()
                   .map(OptionInstanceOrigin::getSource)
                   .distinct()
-                  .collect(Collectors.joining(", ")),
+                  .collect(joining(", ")),
               arbitraryFirstOptionOrigin.getImplicitDependent(),
               arbitraryFirstOptionOrigin.getExpandedFrom());
       expandedPolicies.add(
@@ -529,17 +516,6 @@
     return subflagAsPolicy;
   }
 
-  private static void logInApplySetValueOperation(
-      Level loglevel, String formattingString, Object... objects) {
-    // Finding the caller here is relatively expensive and shows up in profiling, so provide it
-    // manually.
-    logger.logp(
-        loglevel,
-        "InvocationPolicyEnforcer",
-        "applySetValueOperation",
-        String.format(formattingString, objects));
-  }
-
   private static void applySetValueOperation(
       OptionsParser parser,
       FlagPolicyWithContext flagPolicy,
@@ -570,8 +546,7 @@
     if (setValue.getOverridable() && valueDescription != null) {
       // The user set the value for the flag but the flag policy is overridable, so keep the user's
       // value.
-      logInApplySetValueOperation(
-          loglevel,
+      logger.at(loglevel).log(
           "Keeping value '%s' from source '%s' for %s because the invocation policy specifying "
               + "the value(s) '%s' is overridable",
           valueDescription.getValue(),
@@ -588,16 +563,12 @@
       // Set all the flag values from the policy.
       for (String flagValue : setValue.getFlagValueList()) {
         if (valueDescription == null) {
-          logInApplySetValueOperation(
-              loglevel,
+          logger.at(loglevel).log(
               "Setting value for %s from invocation policy to '%s', overriding the default value "
                   + "'%s'",
-              optionDefinition,
-              flagValue,
-              optionDefinition.getDefaultValue());
+              optionDefinition, flagValue, optionDefinition.getDefaultValue());
         } else {
-          logInApplySetValueOperation(
-              loglevel,
+          logger.at(loglevel).log(
               "Setting value for %s from invocation policy to '%s', overriding value '%s' from "
                   + "'%s'",
               optionDefinition,
@@ -620,16 +591,14 @@
       String clearedFlagName = clearedValueDescription.getOptionDefinition().getOptionName();
       Object clearedFlagDefaultValue =
           clearedValueDescription.getOptionDefinition().getDefaultValue();
-      logger.log(
-          loglevel,
-          String.format(
-              "Using default value '%s' for flag '%s' as specified by %s invocation policy, "
-                  + "overriding original value '%s' from '%s'",
-              clearedFlagDefaultValue,
-              clearedFlagName,
-              policyType,
-              clearedValueDescription.getValue(),
-              clearedValueDescription.getSourceString()));
+      logger.at(loglevel).log(
+          "Using default value '%s' for flag '%s' as specified by %s invocation policy, "
+              + "overriding original value '%s' from '%s'",
+          clearedFlagDefaultValue,
+          clearedFlagName,
+          policyType,
+          clearedValueDescription.getValue(),
+          clearedValueDescription.getSourceString());
     }
   }
 
@@ -768,16 +737,14 @@
       } else if (!isFlagValueAllowed(convertedPolicyValues, optionDefinition.getDefaultValue())) {
         if (newValue != null) {
           // Use the default value from the policy, since the original default is not allowed
-          logger.log(
-              loglevel,
-              String.format(
-                  "Overriding default value '%s' for %s with value '%s' specified by invocation "
-                      + "policy. %sed values are: %s",
-                  optionDefinition.getDefaultValue(),
-                  optionDefinition,
-                  newValue,
-                  policyType,
-                  policyValues));
+          logger.at(loglevel).log(
+              "Overriding default value '%s' for %s with value '%s' specified by invocation "
+                  + "policy. %sed values are: %s",
+              optionDefinition.getDefaultValue(),
+              optionDefinition,
+              newValue,
+              policyType,
+              policyValues);
           parser.clearValue(optionDefinition);
           parser.addOptionValueAtSpecificPriority(origin, optionDefinition, newValue);
         } else {
@@ -827,12 +794,10 @@
 
         if (!isFlagValueAllowed(convertedPolicyValues, valueDescription.getValue())) {
           if (newValue != null) {
-            logger.log(
-                loglevel,
-                String.format(
-                    "Overriding disallowed value '%s' for %s with value '%s' "
-                        + "specified by invocation policy. %sed values are: %s",
-                    valueDescription.getValue(), option, newValue, policyType, policyValues));
+            logger.at(loglevel).log(
+                "Overriding disallowed value '%s' for %s with value '%s' "
+                    + "specified by invocation policy. %sed values are: %s",
+                valueDescription.getValue(), option, newValue, policyType, policyValues);
             parser.clearValue(option);
             parser.addOptionValueAtSpecificPriority(origin, option, newValue);
           } else if (useDefault) {