kit/ForKit.cpp | 16 ++++++++++++++-- wsd/LOOLWSD.cpp | 19 ++++++++++++++++--- wsd/LOOLWSD.hpp | 1 + 3 files changed, 31 insertions(+), 5 deletions(-)
New commits: commit 94781ec6d989b7f96ac606faeee0fd7fa6fa3bea Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sun Jan 7 22:34:28 2018 -0500 wsd: log at trace level until first child is forked Change-Id: I1b995b4714738f3bffd6dac58cf90ee6f1a32898 Reviewed-on: https://gerrit.libreoffice.org/47565 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/kit/ForKit.cpp b/kit/ForKit.cpp index e399c116..48e4ebb5 100644 --- a/kit/ForKit.cpp +++ b/kit/ForKit.cpp @@ -52,6 +52,7 @@ static bool NoCapsForKit = false; #endif static bool DisplayVersion = false; static std::string UnitTestLibrary; +static std::string LogLevel; static std::atomic<unsigned> ForkCounter(0); static std::map<Process::PID, std::string> childJails; @@ -245,6 +246,12 @@ static int createLibreOfficeKit(const std::string& childRoot, LOG_DBG("Forking a loolkit process with jailId: " << jailId << "."); + if (LogLevel != "trace") + { + LOG_INF("Setting log-level to [" << LogLevel << "]."); + Log::logger().setLevel(LogLevel); + } + const Process::PID pid = fork(); if (!pid) { @@ -376,7 +383,12 @@ int main(int argc, char** argv) logProperties["path"] = std::string(logFilename); } - Log::initialize("frk", logLevel ? logLevel : "", logColor != nullptr, logToFile, logProperties); + Log::initialize("frk", "trace", logColor != nullptr, logToFile, logProperties); + LogLevel = logLevel ? logLevel : "trace"; + if (LogLevel != "trace") + { + LOG_INF("Setting log-level to [trace] and delaying setting to requested [" << LogLevel << "]."); + } std::string childRoot; std::string loSubPath; @@ -478,7 +490,7 @@ int main(int argc, char** argv) } // Setup & check environment - std::string layers( + const std::string layers( "xcsxcu:${BRAND_BASE_DIR}/share/registry " "res:${BRAND_BASE_DIR}/share/registry " "bundledext:${${BRAND_BASE_DIR}/program/lounorc:BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini " diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 99174cca..b3336f01 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -562,6 +562,7 @@ std::string LOOLWSD::FileServerRoot; std::string LOOLWSD::LOKitVersion; std::string LOOLWSD::ConfigFile = LOOLWSD_CONFIGDIR "/loolwsd.xml"; std::string LOOLWSD::ConfigDir = LOOLWSD_CONFIGDIR "/conf.d"; +std::string LOOLWSD::LogLevel = "trace"; Util::RuntimeConstant<bool> LOOLWSD::SSLEnabled; Util::RuntimeConstant<bool> LOOLWSD::SSLTermination; std::set<std::string> LOOLWSD::EditFileExtensions; @@ -716,8 +717,9 @@ void LOOLWSD::initialize(Application& self) // Allow UT to manipulate before using configuration values. UnitWSD::get().configure(config()); - const auto logLevel = getConfigValue<std::string>(conf, "logging.level", "trace"); - setenv("LOOL_LOGLEVEL", logLevel.c_str(), true); + // Set the log-level after complete initialization to force maximum details at startup. + LogLevel = getConfigValue<std::string>(conf, "logging.level", "trace"); + setenv("LOOL_LOGLEVEL", LogLevel.c_str(), true); const auto withColor = getConfigValue<bool>(conf, "logging.color", true) && isatty(fileno(stderr)); if (withColor) { @@ -755,7 +757,12 @@ void LOOLWSD::initialize(Application& self) } } - Log::initialize("wsd", logLevel, withColor, logToFile, logProperties); + // Log at trace level until we complete the initialization. + Log::initialize("wsd", "trace", withColor, logToFile, logProperties); + if (LogLevel != "trace") + { + LOG_INF("Setting log-level to [trace] and delaying setting to requested [" << LogLevel << "]."); + } #if ENABLE_SSL LOOLWSD::SSLEnabled.set(getConfigValue<bool>(conf, "ssl.enable", true)); @@ -2713,6 +2720,12 @@ int LOOLWSD::innerMain() } #endif + if (LogLevel != "trace") + { + LOG_INF("Setting log-level to [" << LogLevel << "]."); + Log::logger().setLevel(LogLevel); + } + // Start the server. srv.start(ClientPortNumber); diff --git a/wsd/LOOLWSD.hpp b/wsd/LOOLWSD.hpp index 40a32b73..9e388a6c 100644 --- a/wsd/LOOLWSD.hpp +++ b/wsd/LOOLWSD.hpp @@ -55,6 +55,7 @@ public: static std::string ServerName; static std::string FileServerRoot; static std::string LOKitVersion; + static std::string LogLevel; static std::atomic<unsigned> NumConnections; static bool TileCachePersistent; static std::unique_ptr<TraceFileWriter> TraceDumper; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits