diff options
author | Ed Tanous <ed@tanous.net> | 2024-04-07 18:38:44 +0300 |
---|---|---|
committer | Ed Tanous <ed@tanous.net> | 2024-04-09 01:46:24 +0300 |
commit | 6ea9076048028a4adfdbdd2606698bffc81203d3 (patch) | |
tree | 23ba9504c963534c9354e66cdd61b19a5608eafd /http/routing.hpp | |
parent | 8cb2c024c4625e2fe2f0b107a865faffcd4bb770 (diff) | |
download | bmcweb-6ea9076048028a4adfdbdd2606698bffc81203d3.tar.xz |
Rework logger to create compile time errors
The logger changes to move to std::format incidentally caused format
errors to no longer be flagged at compile time.
The example here[1] shows that the latest gcc/c++ gave us a way to solve
this, using std::format_string.
This incidentally shows two places where we got the format arguments
wrong, so fix them.
[1] https://stackoverflow.com/questions/72795189/how-can-i-wrap-stdformat-with-my-own-template-function
Change-Id: Id884200e2c98eeaf5ef8db6c1d6362ede2ffb858
Signed-off-by: Ed Tanous <ed@tanous.net>
Diffstat (limited to 'http/routing.hpp')
-rw-r--r-- | http/routing.hpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/http/routing.hpp b/http/routing.hpp index 7872b76cb5..a9884667d0 100644 --- a/http/routing.hpp +++ b/http/routing.hpp @@ -303,24 +303,24 @@ class Trie private: void debugNodePrint(Node* n, size_t level) { + std::string indent(2U * level, ' '); for (size_t i = 0; i < static_cast<size_t>(ParamType::MAX); i++) { if (n->paramChildrens[i] != 0U) { - BMCWEB_LOG_DEBUG( - "{}({}{}", - std::string(2U * level, - ' ') /*, n->paramChildrens[i], ") "*/); switch (static_cast<ParamType>(i)) { case ParamType::STRING: - BMCWEB_LOG_DEBUG("<str>"); + BMCWEB_LOG_DEBUG("{}({}) <str>", indent, + n->paramChildrens[i]); break; case ParamType::PATH: + BMCWEB_LOG_DEBUG("{}({}) <path>", indent, + n->paramChildrens[i]); BMCWEB_LOG_DEBUG("<path>"); break; default: - BMCWEB_LOG_DEBUG("<ERROR>"); + BMCWEB_LOG_DEBUG("{}<ERROR>", indent); break; } @@ -329,9 +329,7 @@ class Trie } for (const Node::ChildMap::value_type& kv : n->children) { - BMCWEB_LOG_DEBUG("{}({}{}{}", - std::string(2U * level, ' ') /*, kv.second, ") "*/, - kv.first); + BMCWEB_LOG_DEBUG("{}({}{}) ", indent, kv.second, kv.first); debugNodePrint(&nodes[kv.second], level + 1); } } |