mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-28 13:02:38 +02:00
logging: add -loglevelalways=1 option
This option tells the logging system to always include a "[cat:level]" prefix, so [net] becomes [net:debug], LogInfo/LogPrint statements will have an [all:info] prefix, and LogWarning and LogError logs will become [all:warning] and [all:error]. This may be easier for automated parsing of logs, particularly if additional prefixes such as thread or source location are enabled.
This commit is contained in:
parent
782bb6a056
commit
fbd7642c8e
@ -40,6 +40,7 @@ void AddLoggingArgs(ArgsManager& argsman)
|
|||||||
#endif
|
#endif
|
||||||
argsman.AddArg("-logsourcelocations", strprintf("Prepend debug output with name of the originating source location (source file, line number and function name) (default: %u)", DEFAULT_LOGSOURCELOCATIONS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
argsman.AddArg("-logsourcelocations", strprintf("Prepend debug output with name of the originating source location (source file, line number and function name) (default: %u)", DEFAULT_LOGSOURCELOCATIONS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||||
argsman.AddArg("-logtimemicros", strprintf("Add microsecond precision to debug timestamps (default: %u)", DEFAULT_LOGTIMEMICROS), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
argsman.AddArg("-logtimemicros", strprintf("Add microsecond precision to debug timestamps (default: %u)", DEFAULT_LOGTIMEMICROS), ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::DEBUG_TEST);
|
||||||
|
argsman.AddArg("-loglevelalways", strprintf("Always prepend a category and level (default: %u)", DEFAULT_LOGLEVELALWAYS), ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||||
argsman.AddArg("-printtoconsole", "Send trace/debug info to console (default: 1 when no -daemon. To disable logging to file, set -nodebuglogfile)", ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
argsman.AddArg("-printtoconsole", "Send trace/debug info to console (default: 1 when no -daemon. To disable logging to file, set -nodebuglogfile)", ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||||
argsman.AddArg("-shrinkdebugfile", "Shrink debug.log file on client startup (default: 1 when no -debug)", ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
argsman.AddArg("-shrinkdebugfile", "Shrink debug.log file on client startup (default: 1 when no -debug)", ArgsManager::ALLOW_ANY, OptionsCategory::DEBUG_TEST);
|
||||||
}
|
}
|
||||||
@ -55,6 +56,7 @@ void SetLoggingOptions(const ArgsManager& args)
|
|||||||
LogInstance().m_log_threadnames = args.GetBoolArg("-logthreadnames", DEFAULT_LOGTHREADNAMES);
|
LogInstance().m_log_threadnames = args.GetBoolArg("-logthreadnames", DEFAULT_LOGTHREADNAMES);
|
||||||
#endif
|
#endif
|
||||||
LogInstance().m_log_sourcelocations = args.GetBoolArg("-logsourcelocations", DEFAULT_LOGSOURCELOCATIONS);
|
LogInstance().m_log_sourcelocations = args.GetBoolArg("-logsourcelocations", DEFAULT_LOGSOURCELOCATIONS);
|
||||||
|
LogInstance().m_always_print_category_level = args.GetBoolArg("-loglevelalways", DEFAULT_LOGLEVELALWAYS);
|
||||||
|
|
||||||
fLogIPs = args.GetBoolArg("-logips", DEFAULT_LOGIPS);
|
fLogIPs = args.GetBoolArg("-logips", DEFAULT_LOGIPS);
|
||||||
}
|
}
|
||||||
|
@ -392,7 +392,7 @@ std::string BCLog::Logger::GetLogPrefix(BCLog::LogFlags category, BCLog::Level l
|
|||||||
{
|
{
|
||||||
if (category == LogFlags::NONE) category = LogFlags::ALL;
|
if (category == LogFlags::NONE) category = LogFlags::ALL;
|
||||||
|
|
||||||
const bool has_category{category != LogFlags::ALL};
|
const bool has_category{m_always_print_category_level || category != LogFlags::ALL};
|
||||||
|
|
||||||
// If there is no category, Info is implied
|
// If there is no category, Info is implied
|
||||||
if (!has_category && level == Level::Info) return {};
|
if (!has_category && level == Level::Info) return {};
|
||||||
@ -402,7 +402,7 @@ std::string BCLog::Logger::GetLogPrefix(BCLog::LogFlags category, BCLog::Level l
|
|||||||
s += LogCategoryToStr(category);
|
s += LogCategoryToStr(category);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!has_category || level != Level::Debug) {
|
if (m_always_print_category_level || !has_category || level != Level::Debug) {
|
||||||
// If there is a category, Debug is implied, so don't add the level
|
// If there is a category, Debug is implied, so don't add the level
|
||||||
|
|
||||||
// Only add separator if we have a category
|
// Only add separator if we have a category
|
||||||
|
@ -25,6 +25,7 @@ static const bool DEFAULT_LOGIPS = false;
|
|||||||
static const bool DEFAULT_LOGTIMESTAMPS = true;
|
static const bool DEFAULT_LOGTIMESTAMPS = true;
|
||||||
static const bool DEFAULT_LOGTHREADNAMES = false;
|
static const bool DEFAULT_LOGTHREADNAMES = false;
|
||||||
static const bool DEFAULT_LOGSOURCELOCATIONS = false;
|
static const bool DEFAULT_LOGSOURCELOCATIONS = false;
|
||||||
|
static constexpr bool DEFAULT_LOGLEVELALWAYS = false;
|
||||||
extern const char * const DEFAULT_DEBUGLOGFILE;
|
extern const char * const DEFAULT_DEBUGLOGFILE;
|
||||||
|
|
||||||
extern bool fLogIPs;
|
extern bool fLogIPs;
|
||||||
@ -119,6 +120,7 @@ namespace BCLog {
|
|||||||
bool m_log_time_micros = DEFAULT_LOGTIMEMICROS;
|
bool m_log_time_micros = DEFAULT_LOGTIMEMICROS;
|
||||||
bool m_log_threadnames = DEFAULT_LOGTHREADNAMES;
|
bool m_log_threadnames = DEFAULT_LOGTHREADNAMES;
|
||||||
bool m_log_sourcelocations = DEFAULT_LOGSOURCELOCATIONS;
|
bool m_log_sourcelocations = DEFAULT_LOGSOURCELOCATIONS;
|
||||||
|
bool m_always_print_category_level = DEFAULT_LOGLEVELALWAYS;
|
||||||
|
|
||||||
fs::path m_file_path;
|
fs::path m_file_path;
|
||||||
std::atomic<bool> m_reopen_file{false};
|
std::atomic<bool> m_reopen_file{false};
|
||||||
|
Loading…
Reference in New Issue
Block a user