aboutsummaryrefslogtreecommitdiff
path: root/src/zencore
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-10-04 19:06:35 +0200
committerGitHub <[email protected]>2023-10-04 19:06:35 +0200
commit89467bb2a858ae60dbcc8069d67c848a56231c9c (patch)
treedbe6213a98a7afd6cf12935daac003fa9b9da278 /src/zencore
parentformatting of server config (diff)
downloadzen-89467bb2a858ae60dbcc8069d67c848a56231c9c.tar.xz
zen-89467bb2a858ae60dbcc8069d67c848a56231c9c.zip
added --quiet option to suppress default logging to stdout (#446)
added --quiet option for zenserver to suppress default logging to stdout
Diffstat (limited to 'src/zencore')
-rw-r--r--src/zencore/include/zencore/logging.h1
-rw-r--r--src/zencore/logging.cpp14
2 files changed, 13 insertions, 2 deletions
diff --git a/src/zencore/include/zencore/logging.h b/src/zencore/include/zencore/logging.h
index 462f2b4e0..c0d966475 100644
--- a/src/zencore/include/zencore/logging.h
+++ b/src/zencore/include/zencore/logging.h
@@ -16,6 +16,7 @@ namespace zen::logging {
spdlog::logger& Default();
void SetDefault(std::shared_ptr<spdlog::logger> NewDefaultLogger);
spdlog::logger& ConsoleLog();
+void SuppressConsoleLog();
spdlog::logger& Get(std::string_view Name);
spdlog::logger* ErrorLog();
void SetErrorLog(std::shared_ptr<spdlog::logger>&& NewErrorLogger);
diff --git a/src/zencore/logging.cpp b/src/zencore/logging.cpp
index dc923f45e..ff37af368 100644
--- a/src/zencore/logging.cpp
+++ b/src/zencore/logging.cpp
@@ -5,6 +5,7 @@
#include <zencore/string.h>
#include <zencore/testing.h>
+#include <spdlog/sinks/null_sink.h>
#include <spdlog/sinks/stdout_color_sinks.h>
namespace zen {
@@ -46,13 +47,22 @@ Get(std::string_view Name)
std::once_flag ConsoleInitFlag;
std::shared_ptr<spdlog::logger> ConLogger;
+void
+SuppressConsoleLog()
+{
+ ConLogger = spdlog::null_logger_mt("console");
+}
+
spdlog::logger&
ConsoleLog()
{
std::call_once(ConsoleInitFlag, [&] {
- ConLogger = spdlog::stdout_color_mt("console");
+ if (!ConLogger)
+ {
+ ConLogger = spdlog::stdout_color_mt("console");
- ConLogger->set_pattern("%v");
+ ConLogger->set_pattern("%v");
+ }
});
return *ConLogger;