#Centipede Reduce log pollution by repeated messages about custom mutator

PiperOrigin-RevId: 568698330
diff --git a/centipede/BUILD b/centipede/BUILD
index 756df0d..f010409 100644
--- a/centipede/BUILD
+++ b/centipede/BUILD
@@ -741,11 +741,15 @@
     srcs = ["centipede_default_callbacks.cc"],
     hdrs = ["centipede_default_callbacks.h"],
     deps = [
+        ":centipede_callbacks",
         ":centipede_interface",
         ":defs",
         ":environment",
         ":logging",
+        ":mutation_input",
         ":runner_result",
+        "@com_google_absl//absl/log",
+        "@com_google_absl//absl/log:check",
     ],
 )
 
diff --git a/centipede/centipede_default_callbacks.cc b/centipede/centipede_default_callbacks.cc
index 5e0bb3f..8dd85de 100644
--- a/centipede/centipede_default_callbacks.cc
+++ b/centipede/centipede_default_callbacks.cc
@@ -18,10 +18,14 @@
 #include <string_view>
 #include <vector>
 
-#include "./centipede/centipede_interface.h"
+#include "absl/log/check.h"
+#include "absl/log/log.h"
+#include "./centipede/centipede_callbacks.h"
 #include "./centipede/defs.h"
 #include "./centipede/environment.h"
-#include "./centipede/logging.h"
+#include "./centipede/logging.h"  // IWYU pragma: keep
+#include "./centipede/mutation_input.h"
+#include "./centipede/runner_result.h"
 
 namespace centipede {
 
@@ -66,15 +70,14 @@
         custom_mutator_is_usable_ = true;
       }
       if (!mutants.empty()) return;
-      LOG(WARNING)
-          << "No mutants returned from the custom mutator - falling "
-             "back to the internal mutator. Check the custom mutator if this "
-             "happens frequently";
+      LOG_FIRST_N(WARNING, 5)
+          << "Custom mutator returned no mutants: falling back to internal "
+             "default mutator";
     } else {
-      LOG(INFO) << "Custom mutator undetected or misbehaving:";
+      LOG(WARNING) << "Custom mutator undetected or misbehaving:";
       CHECK(!custom_mutator_is_usable_.has_value())
           << "Custom mutator is unreliable, aborting";
-      LOG(INFO) << "Falling back to the internal default mutator.";
+      LOG(WARNING) << "Falling back to internal default mutator";
       custom_mutator_is_usable_ = false;
     }
   }