diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2021-04-18 19:05:03 -0400 |
---|---|---|
committer | Russell Yanofsky <russ@yanofsky.org> | 2021-04-19 06:11:38 -0400 |
commit | 5bed2ab42c4f1a820468f7005ce62e39001f6611 (patch) | |
tree | 23340ee04f41924e7dbd2fac82de58481419540d /src/init | |
parent | 1fb7fcfa52569a652d3ea55c210b725e60b7d86f (diff) |
Move common logging start code to init/common
Diffstat (limited to 'src/init')
-rw-r--r-- | src/init/common.cpp | 37 | ||||
-rw-r--r-- | src/init/common.h | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/init/common.cpp b/src/init/common.cpp index d905fecdd8..35776080dc 100644 --- a/src/init/common.cpp +++ b/src/init/common.cpp @@ -115,4 +115,41 @@ void SetLoggingCategories(const ArgsManager& args) } } } + +bool StartLogging(const ArgsManager& args) +{ + if (LogInstance().m_print_to_file) { + if (args.GetBoolArg("-shrinkdebugfile", LogInstance().DefaultShrinkDebugFile())) { + // Do this first since it both loads a bunch of debug.log into memory, + // and because this needs to happen before any other debug.log printing + LogInstance().ShrinkDebugFile(); + } + } + if (!LogInstance().StartLogging()) { + return InitError(strprintf(Untranslated("Could not open debug log file %s"), + LogInstance().m_file_path.string())); + } + + if (!LogInstance().m_log_timestamps) + LogPrintf("Startup time: %s\n", FormatISO8601DateTime(GetTime())); + LogPrintf("Default data directory %s\n", GetDefaultDataDir().string()); + LogPrintf("Using data directory %s\n", GetDataDir().string()); + + // Only log conf file usage message if conf file actually exists. + fs::path config_file_path = GetConfigFile(args.GetArg("-conf", BITCOIN_CONF_FILENAME)); + if (fs::exists(config_file_path)) { + LogPrintf("Config file: %s\n", config_file_path.string()); + } else if (args.IsArgSet("-conf")) { + // Warn if no conf file exists at path provided by user + InitWarning(strprintf(_("The specified config file %s does not exist"), config_file_path.string())); + } else { + // Not categorizing as "Warning" because it's the default behavior + LogPrintf("Config file: %s (not found, skipping)\n", config_file_path.string()); + } + + // Log the config arguments to debug.log + args.LogArgs(); + + return true; +} } // namespace init diff --git a/src/init/common.h b/src/init/common.h index 58e33cfd1c..91a7282d10 100644 --- a/src/init/common.h +++ b/src/init/common.h @@ -21,6 +21,7 @@ bool SanityChecks(); void AddLoggingArgs(ArgsManager& args); void SetLoggingOptions(const ArgsManager& args); void SetLoggingCategories(const ArgsManager& args); +bool StartLogging(const ArgsManager& args); } // namespace init #endif // BITCOIN_INIT_COMMON_H |