diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/logging.cpp | 33 | ||||
-rw-r--r-- | src/test/logging_tests.cpp | 6 |
2 files changed, 21 insertions, 18 deletions
diff --git a/src/logging.cpp b/src/logging.cpp index c4bd221e04..b23a6f96eb 100644 --- a/src/logging.cpp +++ b/src/logging.cpp @@ -394,26 +394,29 @@ namespace BCLog { std::string BCLog::Logger::GetLogPrefix(BCLog::LogFlags category, BCLog::Level level) const { - if (category != LogFlags::NONE || level != Level::None) { - std::string s{"["}; + const bool has_category{category != LogFlags::NONE}; - if (category != LogFlags::NONE) { - s += LogCategoryToStr(category); - } + if (!has_category && level == Level::None) return {}; - if (category != LogFlags::NONE && level != Level::None) { - // Only add separator if both flag and level are not NONE - s += ":"; - } + // If there is no category, Info is implied + if (!has_category && level == Level::Info) return {}; - if (level != Level::None) { - s += LogLevelToStr(level); - } + std::string s{"["}; + if (has_category) { + s += LogCategoryToStr(category); - s += "] "; - return s; + // If there is a category, Debug is implied + if (level == Level::Debug) level = Level::None; } - return {}; + + if (level != Level::None) { + // Only add separator if we have a category + if (has_category) s += ":"; + s += Logger::LogLevelToStr(level); + } + + s += "] "; + return s; } void BCLog::Logger::LogPrintStr(const std::string& str, const std::string& logging_function, const std::string& source_file, int source_line, BCLog::LogFlags category, BCLog::Level level) diff --git a/src/test/logging_tests.cpp b/src/test/logging_tests.cpp index 2caabd12c7..ad3664b2bb 100644 --- a/src/test/logging_tests.cpp +++ b/src/test/logging_tests.cpp @@ -94,11 +94,11 @@ BOOST_FIXTURE_TEST_CASE(logging_LogPrintf_, LogSetup) log_lines.push_back(log); } std::vector<std::string> expected = { - "[src1:1] [fn1] [net:debug] foo1: bar1", + "[src1:1] [fn1] [net] foo1: bar1", "[src2:2] [fn2] [net] foo2: bar2", "[src3:3] [fn3] [debug] foo3: bar3", "[src4:4] [fn4] foo4: bar4", - "[src5:5] [fn5] [info] foo5: bar5", + "[src5:5] [fn5] foo5: bar5", }; BOOST_CHECK_EQUAL_COLLECTIONS(log_lines.begin(), log_lines.end(), expected.begin(), expected.end()); } @@ -120,7 +120,7 @@ BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacros, LogSetup) std::vector<std::string> expected = { "foo5: bar5", "[net] foo6: bar6", - "[net:debug] foo7: bar7", + "[net] foo7: bar7", "[net:info] foo8: bar8", "[net:warning] foo9: bar9", "[net:error] foo10: bar10", |