From a79a7830472e9b994eacbb22c1a9fd223c4cc2c7 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Fri, 17 Sep 2021 23:32:05 +0200 Subject: Changed file logging to use a rotating log strategy --- zenserver/diag/logging.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/zenserver/diag/logging.cpp b/zenserver/diag/logging.cpp index 48c87dd68..1df35fc14 100644 --- a/zenserver/diag/logging.cpp +++ b/zenserver/diag/logging.cpp @@ -9,7 +9,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -224,7 +226,19 @@ InitializeLogging(const ZenServerOptions& GlobalOptions) // Sinks auto ConsoleSink = std::make_shared(); - auto FileSink = std::make_shared(zen::WideToUtf8(LogPath.c_str()), /* truncate */ true); + +#if 0 + auto FileSink = std::make_shared(zen::WideToUtf8(LogPath.c_str()), + 0, + 0, + /* truncate */ false, + uint16_t(/* max files */ 14)); +#else + auto FileSink = std::make_shared(zen::WideToUtf8(LogPath.c_str()), + /* max size */ 128 * 1024 * 1024, + /* max files */ 16, + /* rotate on open */ true); +#endif // Default @@ -250,6 +264,8 @@ InitializeLogging(const ZenServerOptions& GlobalOptions) spdlog::register_logger(JupiterLogger); JupiterLogger->set_level(LogLevel); + // Zen - only log HTTP traffic to file + auto ZenClientLogger = std::make_shared("zenclient", FileSink); spdlog::register_logger(ZenClientLogger); ZenClientLogger->set_level(LogLevel); @@ -258,6 +274,7 @@ InitializeLogging(const ZenServerOptions& GlobalOptions) spdlog::set_level(LogLevel); spdlog::flush_on(spdlog::level::err); + spdlog::flush_every(std::chrono::seconds{2}); spdlog::set_formatter(std::make_unique(GlobalOptions.LogId, std::chrono::system_clock::now())); } -- cgit v1.2.3