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
This commit is contained in:

committed by
Florin Coras

parent
8fb22fdade
commit
3d0e0d155d
@ -472,6 +472,23 @@ vlib_cli_dispatch_sub_commands (vlib_main_t * vm,
|
||||
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 @@ vlib_cli_init (vlib_main_t * vm)
|
||||
return error;
|
||||
cmd = cmd->next_cli_command;
|
||||
}
|
||||
|
||||
cm->log = vlib_log_register_class_rate_limit (
|
||||
"cli", "log", 0x7FFFFFFF /* aka no rate limit */);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
||||
#define included_vlib_cli_h
|
||||
|
||||
#include <vppinfra/format.h>
|
||||
#include <vlib/log.h>
|
||||
|
||||
struct vlib_cli_command_t;
|
||||
|
||||
@ -152,6 +153,10 @@ typedef struct vlib_cli_main_t
|
||||
(struct vlib_cli_main_t *, u32 id, int before_or_after);
|
||||
void (**perf_counter_cbs_tmp)
|
||||
(struct vlib_cli_main_t *, u32 id, int before_or_after);
|
||||
|
||||
/* cli log */
|
||||
vlib_log_class_t log;
|
||||
|
||||
} vlib_cli_main_t;
|
||||
|
||||
#ifndef CLIB_MARCH_VARIANT
|
||||
|
Reference in New Issue
Block a user