From d3ffb4ca2c77b92dc98caa336c5d200a790912d2 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Sat, 1 Nov 2025 09:31:07 +0200 Subject: logging: don't g_message with --quiet When `--quiet` is passed (and not --debug), do not log with g_message at startup. --- lib/utils/mu-logger.cc | 7 ++++--- lib/utils/mu-logger.hh | 8 ++++---- mu/mu.cc | 4 ++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/utils/mu-logger.cc b/lib/utils/mu-logger.cc index c9a0d74..8715bff 100644 --- a/lib/utils/mu-logger.cc +++ b/lib/utils/mu-logger.cc @@ -184,9 +184,10 @@ Mu::Logger::Logger(const std::string& path, Mu::Logger::Options opts) NULL, NULL); - g_message("logging initialized; debug: %s, stdout/stderr: %s", - any_of(opts & Options::Debug) ? "yes" : "no", - any_of(opts & Options::StdOutErr) ? "yes" : "no"); + if (none_of(opts & Options::Quiet)) + g_message("logging initialized; debug: %s, stdout/stderr: %s", + any_of(opts & Options::Debug) ? "yes" : "no", + any_of(opts & Options::StdOutErr) ? "yes" : "no"); MuLogInitialized = true; } diff --git a/lib/utils/mu-logger.hh b/lib/utils/mu-logger.hh index 6024e28..62680f5 100644 --- a/lib/utils/mu-logger.hh +++ b/lib/utils/mu-logger.hh @@ -1,5 +1,5 @@ /* -** Copyright (C) 2020-2023 Dirk-Jan C. Binnema +** Copyright (C) 2020-2025 Dirk-Jan C. Binnema ** ** This program is free software; you can redistribute it and/or modify it ** under the terms of the GNU General Public License as published by the @@ -30,17 +30,17 @@ namespace Mu { * RAII object for handling logging (through g_(debug|warning|...)) * */ -struct Logger { - +class Logger { +public: /** * Logging options - * */ enum struct Options { None = 0, /**< Nothing specific */ StdOutErr = 1 << 1, /**< Log to stdout/stderr */ File = 1 << 2, /**< Force logging to file, even if journal available */ Debug = 1 << 3, /**< Include debug-level logs */ + Quiet = 1 << 4, /**< Be more quiet */ }; /** diff --git a/mu/mu.cc b/mu/mu.cc index 0a580bc..c0b2eb7 100644 --- a/mu/mu.cc +++ b/mu/mu.cc @@ -112,8 +112,12 @@ main(int argc, char* argv[]) try Logger::Options lopts{Logger::Options::None}; if (opts.log_stderr) lopts |= Logger::Options::StdOutErr; + if (opts.debug) lopts |= Logger::Options::Debug; + else if (opts.quiet) // ie. only consider when not in debug mode + lopts |= Logger::Options::Quiet; + if (!!g_getenv("MU_TEST")) lopts |= Logger::Options::File; -- cgit v1.0