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>
diff --git a/http/routing.hpp b/http/routing.hpp
index 7872b76..a988466 100644
--- a/http/routing.hpp
+++ b/http/routing.hpp
@@ -303,24 +303,24 @@
   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 @@
         }
         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);
         }
     }