5 #if defined(HAVE_CONFIG_H) 29 LogPrintf(
"Using the '%s' SHA256 implementation\n", sha256_algo);
64 argsman.
AddArg(
"-debug=<category>",
"Output debugging information (default: -nodebug, supplying <category> is optional). " 65 "If <category> is not supplied or if <category> = 1, output all debugging information. <category> can be: " +
LogInstance().LogCategoriesString() +
". This option can be specified multiple times to output multiple categories.",
67 argsman.
AddArg(
"-debugexclude=<category>",
strprintf(
"Exclude debugging information for a category. Can be used in conjunction with -debug=1 to output debug logs for all categories except the specified category. This option can be specified multiple times to exclude multiple categories."),
ArgsManager::ALLOW_ANY,
OptionsCategory::DEBUG_TEST);
70 #ifdef HAVE_THREAD_LOCAL 88 #ifdef HAVE_THREAD_LOCAL 100 const std::vector<std::string> categories = args.
GetArgs(
"-debug");
102 if (std::none_of(categories.begin(), categories.end(),
103 [](std::string cat){
return cat ==
"0" || cat ==
"none";})) {
104 for (
const auto& cat : categories) {
113 for (
const std::string& cat : args.
GetArgs(
"-debugexclude")) {
141 if (fs::exists(config_file_path)) {
142 LogPrintf(
"Config file: %s\n", config_file_path.string());
143 }
else if (args.
IsArgSet(
"-conf")) {
148 LogPrintf(
"Config file: %s (not found, skipping)\n", config_file_path.string());
161 version_string +=
" (debug build)";
163 version_string +=
" (release build)";
void EnableCategory(LogFlags flag)
void RandomInit()
Initialize global RNG state and log any CPU features that are used.
void ECC_Start()
Initialize the elliptic curve support.
bool IsArgSet(const std::string &strArg) const
Return true if the given argument has been manually set.
BCLog::Logger & LogInstance()
fs::path GetDefaultDataDir()
void InitWarning(const bilingual_str &str)
Show warning message.
bilingual_str Untranslated(std::string original)
Mark a bilingual_str as untranslated.
void AddHiddenArgs(const std::vector< std::string > &args)
Add many hidden arguments.
static const bool DEFAULT_LOGTHREADNAMES
static const bool DEFAULT_LOGTIMEMICROS
bool ChronoSanityCheck()
Sanity check epoch match normal Unix epoch.
std::string FormatISO8601DateTime(int64_t nTime)
ISO 8601 formatting is preferred.
bool GetBoolArg(const std::string &strArg, bool fDefault) const
Return boolean argument or default value.
std::string SHA256AutoDetect()
Autodetect the best available SHA256 implementation.
void SetLoggingCategories(const ArgsManager &args)
const char *const BITCOIN_CONF_FILENAME
bool m_log_sourcelocations
bool SanityChecks()
Ensure a usable environment with all necessary library support.
Users of this module must hold an ECCVerifyHandle.
bool IsArgNegated(const std::string &strArg) const
Return true if the argument was originally passed as a negated option, i.e.
void ECC_Stop()
Deinitialize the elliptic curve support.
bilingual_str _(const char *psz)
Translation function.
void AddArg(const std::string &name, const std::string &help, unsigned int flags, const OptionsCategory &cat)
Add argument.
bool StartLogging(const ArgsManager &args)
void DisableCategory(LogFlags flag)
static std::unique_ptr< ECCVerifyHandle > globalVerifyHandle
bool InitError(const bilingual_str &str)
Show error message.
void SetLoggingOptions(const ArgsManager &args)
fs::path AbsPathForConfigVal(const fs::path &path, bool net_specific)
Most paths passed as configuration arguments are treated as relative to the datadir if they are not a...
void AddLoggingArgs(ArgsManager &argsman)
std::string FormatFullVersion()
bool glibcxx_sanity_test()
fs::path GetConfigFile(const std::string &confPath)
static const bool DEFAULT_LOGSOURCELOCATIONS
std::string GetArg(const std::string &strArg, const std::string &strDefault) const
Return string argument or default value.
void LogArgs() const
Log the config file options and the command line arguments, useful for troubleshooting.
static const bool DEFAULT_LOGIPS
bool ECC_InitSanityCheck()
Check that required EC support is available at runtime.
std::vector< std::string > GetArgs(const std::string &strArg) const
Return a vector of strings of the given argument.
int64_t GetTime()
Return system time (or mocked time, if set)
const char *const DEFAULT_DEBUGLOGFILE
bool Random_SanityCheck()
Check that OS randomness is available and returning the requested number of bytes.
static const bool DEFAULT_LOGTIMESTAMPS
const fs::path & GetDataDirNet() const
Get data directory path with appended network identifier.