aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver
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/zenserver
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/zenserver')
-rw-r--r--src/zenserver/config.cpp2
-rw-r--r--src/zenserver/config.h1
-rw-r--r--src/zenserver/diag/logging.cpp14
3 files changed, 14 insertions, 3 deletions
diff --git a/src/zenserver/config.cpp b/src/zenserver/config.cpp
index c0a97ce5b..b7699900f 100644
--- a/src/zenserver/config.cpp
+++ b/src/zenserver/config.cpp
@@ -787,6 +787,7 @@ ParseConfigFile(const std::filesystem::path& Path,
LuaOptions.AddOption("server.contentdir"sv, ServerOptions.ContentDir, "content-dir"sv);
LuaOptions.AddOption("server.abslog"sv, ServerOptions.AbsLogFile, "abslog"sv);
LuaOptions.AddOption("server.debug"sv, ServerOptions.IsDebug, "debug"sv);
+ LuaOptions.AddOption("server.noconsole"sv, ServerOptions.NoConsoleOutput, "quiet"sv);
////// objectstore
LuaOptions.AddOption("server.objectstore.enabled"sv, ServerOptions.ObjectStoreEnabled, "objectstore-enabled"sv);
@@ -1000,6 +1001,7 @@ ParseCliOptions(int argc, char* argv[], ZenServerOptions& ServerOptions)
options.add_options()("sentry-allow-personal-info",
"Allow personally identifiable information in sentry crash reports",
cxxopts::value<bool>(ServerOptions.SentryAllowPII)->default_value("false"));
+ options.add_options()("quiet", "Disable console logging", cxxopts::value<bool>(ServerOptions.NoConsoleOutput)->default_value("false"));
options.add_option("security",
"",
diff --git a/src/zenserver/config.h b/src/zenserver/config.h
index df1ccb752..8e2ffe74c 100644
--- a/src/zenserver/config.h
+++ b/src/zenserver/config.h
@@ -156,6 +156,7 @@ struct ZenServerOptions
bool NoSentry = false;
bool SentryAllowPII = false; // Allow personally identifiable information in sentry crash reports
bool ObjectStoreEnabled = false;
+ bool NoConsoleOutput = false; // Control default use of stdout for diagnostics
#if ZEN_WITH_TRACE
std::string TraceHost; // Host name or IP address to send trace data to
std::string TraceFile; // Path of a file to write a trace
diff --git a/src/zenserver/diag/logging.cpp b/src/zenserver/diag/logging.cpp
index 0f15253cc..29c8eec4c 100644
--- a/src/zenserver/diag/logging.cpp
+++ b/src/zenserver/diag/logging.cpp
@@ -352,8 +352,6 @@ InitializeLogging(const ZenServerOptions& GlobalOptions)
// Sinks
- auto ConsoleSink = std::make_shared<spdlog::sinks::ansicolor_stdout_sink_mt>();
-
// spdlog can't create directories that starts with `\\?\` so we make sure the folder exists before creating the logger instance
zen::CreateDirectories(GlobalOptions.AbsLogFile.parent_path());
@@ -378,7 +376,17 @@ InitializeLogging(const ZenServerOptions& GlobalOptions)
auto& Sinks = DefaultLogger.sinks();
Sinks.clear();
- Sinks.push_back(ConsoleSink);
+
+ if (GlobalOptions.NoConsoleOutput)
+ {
+ zen::logging::SuppressConsoleLog();
+ }
+ else
+ {
+ auto ConsoleSink = std::make_shared<spdlog::sinks::ansicolor_stdout_sink_mt>();
+ Sinks.push_back(ConsoleSink);
+ }
+
Sinks.push_back(FileSink);
#if ZEN_PLATFORM_WINDOWS