diff --git a/barretenberg/cpp/src/barretenberg/bb/main.cpp b/barretenberg/cpp/src/barretenberg/bb/main.cpp index 16f2b16d609d..f56f49c84541 100644 --- a/barretenberg/cpp/src/barretenberg/bb/main.cpp +++ b/barretenberg/cpp/src/barretenberg/bb/main.cpp @@ -1316,7 +1316,8 @@ int main(int argc, char* argv[]) { try { std::vector args(argv + 1, argv + argc); - verbose_logging = flag_present(args, "-v") || flag_present(args, "--verbose_logging"); + debug_logging = flag_present(args, "-d") || flag_present(args, "--debug_logging"); + verbose_logging = debug_logging || flag_present(args, "-v") || flag_present(args, "--verbose_logging"); if (args.empty()) { std::cerr << "No command provided.\n"; return 1; diff --git a/barretenberg/cpp/src/barretenberg/common/log.cpp b/barretenberg/cpp/src/barretenberg/common/log.cpp index a3917413603c..60c9679cedb8 100644 --- a/barretenberg/cpp/src/barretenberg/common/log.cpp +++ b/barretenberg/cpp/src/barretenberg/common/log.cpp @@ -7,3 +7,6 @@ bool verbose_logging = std::getenv("BB_VERBOSE") == nullptr ? false : std::strin #else bool verbose_logging = true; #endif + +// Used for `debug` in log.hpp. +bool debug_logging = false; \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/common/log.hpp b/barretenberg/cpp/src/barretenberg/common/log.hpp index 19486b163073..a200473c6dc2 100644 --- a/barretenberg/cpp/src/barretenberg/common/log.hpp +++ b/barretenberg/cpp/src/barretenberg/common/log.hpp @@ -47,10 +47,14 @@ template std::string benchmark_format(Args... args) return os.str(); } +extern bool debug_logging; #ifndef NDEBUG template inline void debug(Args... args) { - logstr(format(args...).c_str()); + // NDEBUG is used to turn off asserts, so we want this flag to prevent debug log spamming. + if (debug_logging) { + logstr(format(args...).c_str()); + } } #else template inline void debug(Args... /*unused*/) {}