summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/utils/mu-logger.cc7
-rw-r--r--lib/utils/mu-logger.hh8
-rw-r--r--mu/mu.cc4
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 <djcb@djcbsoftware.nl>
+** Copyright (C) 2020-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
**
** 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;