aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/diag/logging.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2025-11-24 11:05:29 +0100
committerGitHub Enterprise <[email protected]>2025-11-24 11:05:29 +0100
commite5eccea44a3e6a80d3b24ad2113bfeea86c62827 (patch)
treebaad4e4a7ab43079e08e0842a67d16f6d5eb6404 /src/zenserver/diag/logging.cpp
parentadd Deploy.md and ability to specify a version via --version (#663) (diff)
downloadzen-e5eccea44a3e6a80d3b24ad2113bfeea86c62827.tar.xz
zen-e5eccea44a3e6a80d3b24ad2113bfeea86c62827.zip
logging improvements (#664)
* Eliminate spurious `FlushFileBuffers` calls on Windows by tracking writes * Make cache log file creation optional
Diffstat (limited to 'src/zenserver/diag/logging.cpp')
-rw-r--r--src/zenserver/diag/logging.cpp41
1 files changed, 22 insertions, 19 deletions
diff --git a/src/zenserver/diag/logging.cpp b/src/zenserver/diag/logging.cpp
index 90af79651..80da240e8 100644
--- a/src/zenserver/diag/logging.cpp
+++ b/src/zenserver/diag/logging.cpp
@@ -21,7 +21,7 @@ ZEN_THIRD_PARTY_INCLUDES_END
namespace zen {
void
-InitializeServerLogging(const ZenServerConfig& InOptions)
+InitializeServerLogging(const ZenServerConfig& InOptions, bool WithCacheService)
{
ZEN_MEMSCOPE(ELLMTag::Logging);
@@ -51,29 +51,32 @@ InitializeServerLogging(const ZenServerConfig& InOptions)
spdlog::apply_logger_env_levels(HttpLogger);
spdlog::register_logger(HttpLogger);
- // Cache request logging
- std::filesystem::path CacheLogPath = InOptions.DataDir / "logs" / "z$.log";
- zen::CreateDirectories(CacheLogPath.parent_path());
+ if (WithCacheService)
+ {
+ // Cache request logging
+ std::filesystem::path CacheLogPath = InOptions.DataDir / "logs" / "z$.log";
+ zen::CreateDirectories(CacheLogPath.parent_path());
- auto CacheSink = std::make_shared<zen::logging::RotatingFileSink>(CacheLogPath,
- /* max size */ 128 * 1024 * 1024,
- /* max files */ 16,
- /* rotate on open */ false);
- auto CacheLogger = std::make_shared<spdlog::logger>("z$", CacheSink);
- spdlog::apply_logger_env_levels(CacheLogger);
- spdlog::register_logger(CacheLogger);
+ auto CacheSink = std::make_shared<zen::logging::RotatingFileSink>(CacheLogPath,
+ /* max size */ 128 * 1024 * 1024,
+ /* max files */ 16,
+ /* rotate on open */ false);
+ auto CacheLogger = std::make_shared<spdlog::logger>("z$", CacheSink);
+ spdlog::apply_logger_env_levels(CacheLogger);
+ spdlog::register_logger(CacheLogger);
- // Jupiter - only log upstream HTTP traffic to file
+ // Jupiter - only log upstream HTTP traffic to file
- auto JupiterLogger = std::make_shared<spdlog::logger>("jupiter", FileSink);
- spdlog::apply_logger_env_levels(JupiterLogger);
- spdlog::register_logger(JupiterLogger);
+ auto JupiterLogger = std::make_shared<spdlog::logger>("jupiter", FileSink);
+ spdlog::apply_logger_env_levels(JupiterLogger);
+ spdlog::register_logger(JupiterLogger);
- // Zen - only log upstream HTTP traffic to file
+ // Zen - only log upstream HTTP traffic to file
- auto ZenClientLogger = std::make_shared<spdlog::logger>("zenclient", FileSink);
- spdlog::apply_logger_env_levels(ZenClientLogger);
- spdlog::register_logger(ZenClientLogger);
+ auto ZenClientLogger = std::make_shared<spdlog::logger>("zenclient", FileSink);
+ spdlog::apply_logger_env_levels(ZenClientLogger);
+ spdlog::register_logger(ZenClientLogger);
+ }
//