vlib: add a "vpplog" debug CLI

To add arbitrary text to the vlib log. Combines nicely with
comment/uncomment and the macro expander:

define MY_FEATURE uncomment   # or comment
...
$(MY_FEATURE) { vpplog { My feature was enabled } }

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ia019f0a8fa670d8593ae01595f5ef410796e5b1c
diff --git a/src/vlib/cli.c b/src/vlib/cli.c
index e1db95d..85ec6cb 100644
--- a/src/vlib/cli.c
+++ b/src/vlib/cli.c
@@ -472,6 +472,23 @@
       vec_free (string);
     }
 
+  else if (unformat (input, "vpplog %v", &string))
+    {
+      int i;
+      /*
+       * Delete leading whitespace, so "vpplog { this and that }"
+       * and "vpplog this" line up nicely.
+       */
+      for (i = 0; i < vec_len (string); i++)
+	if (string[i] != ' ')
+	  break;
+      if (i > 0)
+	vec_delete (string, i, 0);
+
+      vlib_log_notice (cm->log, "CLI: %v", string);
+      vec_free (string);
+    }
+
   else if (unformat (input, "uncomment %U",
 		     unformat_vlib_cli_sub_input, &sub_input))
     {
@@ -1817,6 +1834,9 @@
 	return error;
       cmd = cmd->next_cli_command;
     }
+
+  cm->log = vlib_log_register_class_rate_limit (
+    "cli", "log", 0x7FFFFFFF /* aka no rate limit */);
   return error;
 }