mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
Create BCLog::Level::Trace log severity level
for verbose log messages for development or debugging only, as bitcoind may run more slowly, that are more granular/frequent than the Debug log level, i.e. for very high-frequency, low-level messages to be logged distinctly from higher-level, less-frequent debug logging that could still be usable in production. An example would be to log higher-level peer events (connection, disconnection, misbehavior, eviction) as Debug, versus Trace for low-level, high-volume p2p messages in the BCLog::NET category. This will enable the user to log only the former without the latter, in order to focus on high-level peer management events. With respect to the name, "trace" is suggested as the most granular level in resources like the following: - https://sematext.com/blog/logging-levels - https://howtodoinjava.com/log4j2/logging-levels Update the test framework and add test coverage.
This commit is contained in:
@@ -202,6 +202,8 @@ bool GetLogCategory(BCLog::LogFlags& flag, const std::string& str)
|
||||
std::string BCLog::Logger::LogLevelToStr(BCLog::Level level) const
|
||||
{
|
||||
switch (level) {
|
||||
case BCLog::Level::Trace:
|
||||
return "trace";
|
||||
case BCLog::Level::Debug:
|
||||
return "debug";
|
||||
case BCLog::Level::Info:
|
||||
@@ -286,7 +288,9 @@ std::string LogCategoryToStr(BCLog::LogFlags category)
|
||||
|
||||
static std::optional<BCLog::Level> GetLogLevel(const std::string& level_str)
|
||||
{
|
||||
if (level_str == "debug") {
|
||||
if (level_str == "trace") {
|
||||
return BCLog::Level::Trace;
|
||||
} else if (level_str == "debug") {
|
||||
return BCLog::Level::Debug;
|
||||
} else if (level_str == "info") {
|
||||
return BCLog::Level::Info;
|
||||
@@ -320,9 +324,9 @@ std::vector<LogCategory> BCLog::Logger::LogCategoriesList() const
|
||||
}
|
||||
|
||||
/** Log severity levels that can be selected by the user. */
|
||||
static constexpr std::array<BCLog::Level, 2> LogLevelsList()
|
||||
static constexpr std::array<BCLog::Level, 3> LogLevelsList()
|
||||
{
|
||||
return {BCLog::Level::Info, BCLog::Level::Debug};
|
||||
return {BCLog::Level::Info, BCLog::Level::Debug, BCLog::Level::Trace};
|
||||
}
|
||||
|
||||
std::string BCLog::Logger::LogLevelsString() const
|
||||
|
||||
Reference in New Issue
Block a user