diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-09-10 20:58:52 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2018-09-13 15:46:55 +0000 |
commit | 7e0686c6b4b456ec4e6e15689694b1bcf96c301f (patch) | |
tree | 10d4b6be1e8314d9acd022d953997fafca43bdf0 | |
parent | ba0762d6cbcb8204212d28261e71b57bbc9ba5bc (diff) |
logging vty: deprecate the 'everything' keyword
The 'logging level all everything' has not had an effect for some time now. The
plan is to bring back its old functionality, but to keep it deprecated and
rather define a less confusing name.
* Deprecate 'everything'.
* Do not write 'everything' during 'write file' or 'show running-config', which
we curiously still do until now.
BTW, the reason why we need to compose a complete list of categories for the
deprecated 'everything' command is explained in detail in the commit log for
I3b083f27e3d751ccec258880ae7676e9af959a63
Change-Id: Ib75fedb0572570a61bb34ee729a2af86cf5f16da
-rw-r--r-- | src/logging.c | 1 | ||||
-rw-r--r-- | src/vty/logging_vty.c | 34 | ||||
-rw-r--r-- | tests/logging/logging_vty_test.vty | 30 |
3 files changed, 35 insertions, 30 deletions
diff --git a/src/logging.c b/src/logging.c index 7c2d61ff..67470a5d 100644 --- a/src/logging.c +++ b/src/logging.c @@ -64,7 +64,6 @@ void *tall_log_ctx = NULL; LLIST_HEAD(osmo_log_target_list); static const struct value_string loglevel_strs[] = { - { 0, "EVERYTHING" }, { LOGL_DEBUG, "DEBUG" }, { LOGL_INFO, "INFO" }, { LOGL_NOTICE, "NOTICE" }, diff --git a/src/vty/logging_vty.c b/src/vty/logging_vty.c index 2b001bc9..6758dd22 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -320,7 +320,7 @@ static void gen_logging_level_cmd_strs(struct cmd_element *cmd, cmd->doc = doc_str; } -/* logging level (all|<categories>) (everything|debug|...|fatal) */ +/* logging level (all|<categories>) (debug|...|fatal) */ DEFUN(logging_level, logging_level_cmd, NULL, /* cmdstr is dynamically set in logging_vty_add_cmds(). */ @@ -338,11 +338,6 @@ DEFUN(logging_level, return CMD_WARNING; } - if (strcmp(argv[1], "everything") == 0) { /* FIXME: remove this check once 'everything' is phased out */ - vty_out(vty, "%% Ignoring deprecated logging level %s%s", argv[1], VTY_NEWLINE); - return CMD_SUCCESS; - } - /* Check for special case where we want to set global log level */ if (!strcmp(argv[0], "all")) { log_set_log_level(tgt, level); @@ -360,6 +355,15 @@ DEFUN(logging_level, return CMD_SUCCESS; } +/* logging level (all|<categories>) everything */ +DEFUN_DEPRECATED(deprecated_logging_level_everything, deprecated_logging_level_everything_cmd, + NULL, /* cmdstr is dynamically set in logging_vty_add_cmds(). */ + NULL) /* same thing for helpstr. */ +{ + vty_out(vty, "%% Ignoring deprecated logging level 'everything' keyword%s", VTY_NEWLINE); + return CMD_SUCCESS; +} + DEFUN(logging_set_category_mask, logging_set_category_mask_cmd, "logging set-log-mask MASK", @@ -858,8 +862,9 @@ static int config_write_log_single(struct vty *vty, struct log_target *tgt) VTY_NEWLINE); /* stupid old osmo logging API uses uppercase strings... */ - vty_out(vty, " logging level all %s%s", osmo_str_tolower(log_level_str(tgt->loglevel)), - VTY_NEWLINE); + if (tgt->loglevel) + vty_out(vty, " logging level all %s%s", osmo_str_tolower(log_level_str(tgt->loglevel)), + VTY_NEWLINE); for (i = 0; i < osmo_log_info->num_cat; i++) { const struct log_category *cat = &tgt->categories[i]; @@ -896,7 +901,7 @@ void logging_vty_add_deprecated_subsys(void *ctx, const char *name) { struct cmd_element *cmd = talloc_zero(ctx, struct cmd_element); OSMO_ASSERT(cmd); - cmd->string = talloc_asprintf(cmd, "logging level %s (everything|debug|info|notice|error|fatal)", + cmd->string = talloc_asprintf(cmd, "logging level %s (debug|info|notice|error|fatal)", name); printf("%s\n", cmd->string); cmd->func = log_deprecated_func; @@ -924,12 +929,16 @@ void logging_vty_add_cmds() install_element_ve(&logging_set_category_mask_cmd); install_element_ve(&logging_set_category_mask_old_cmd); - /* logging level (all|<categories>) (everything|debug|...|fatal) */ + /* logging level (all|<categories>) (debug|...|fatal) */ gen_logging_level_cmd_strs(&logging_level_cmd, - "(everything|" LOG_LEVEL_ARGS ")", - EVERYTHING_STR LOG_LEVEL_STRS); + "(" LOG_LEVEL_ARGS ")", + LOG_LEVEL_STRS); + /* logging level (all|<categories>) everything */ + gen_logging_level_cmd_strs(&deprecated_logging_level_everything_cmd, + "everything", EVERYTHING_STR); install_element_ve(&logging_level_cmd); + install_element_ve(&deprecated_logging_level_everything_cmd); install_element_ve(&show_logging_vty_cmd); install_element_ve(&show_alarms_cmd); @@ -943,6 +952,7 @@ void logging_vty_add_cmds() install_element(CFG_LOG_NODE, &logging_prnt_level_cmd); install_element(CFG_LOG_NODE, &logging_prnt_file_cmd); install_element(CFG_LOG_NODE, &logging_level_cmd); + install_element(CFG_LOG_NODE, &deprecated_logging_level_everything_cmd); install_element(CONFIG_NODE, &cfg_log_stderr_cmd); install_element(CONFIG_NODE, &cfg_no_log_stderr_cmd); diff --git a/tests/logging/logging_vty_test.vty b/tests/logging/logging_vty_test.vty index c57b70f8..a2c1e74b 100644 --- a/tests/logging/logging_vty_test.vty +++ b/tests/logging/logging_vty_test.vty @@ -1,11 +1,9 @@ logging_vty_test> enable -logging_vty_test# ! Note that 'logging level all everything' is still printed! logging_vty_test# show running-config ... log stderr -... - logging level all everything +... !logging level all logging level aa debug logging level bb info logging level ccc notice @@ -39,7 +37,7 @@ logging_vty_test# list logging print level (0|1) logging print file (0|1|basename) [last] logging set-log-mask MASK - logging level (all|aa|bb|ccc|dddd|eee|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (everything|debug|info|notice|error|fatal) + logging level (all|aa|bb|ccc|dddd|eee|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal) show logging vty ... !logging @@ -64,20 +62,18 @@ logging_vty_test# logging level ? ... logging_vty_test# logging level aa ? - everything Don't use. It doesn't log anything - debug Log debug messages and higher levels - info Log informational messages and higher levels - notice Log noticeable messages and higher levels - error Log error messages and higher levels - fatal Log only fatal messages + debug Log debug messages and higher levels + info Log informational messages and higher levels + notice Log noticeable messages and higher levels + error Log error messages and higher levels + fatal Log only fatal messages logging_vty_test# logging level all ? - everything Don't use. It doesn't log anything - debug Log debug messages and higher levels - info Log informational messages and higher levels - notice Log noticeable messages and higher levels - error Log error messages and higher levels - fatal Log only fatal messages + debug Log debug messages and higher levels + info Log informational messages and higher levels + notice Log noticeable messages and higher levels + error Log error messages and higher levels + fatal Log only fatal messages logging_vty_test# log-sweep @@ -181,7 +177,7 @@ DEEE FATAL Log message for DEEE on level LOGL_FATAL logging_vty_test# ! Old 'logging level all everything' has no effect logging_vty_test# logging level all everything -% Ignoring deprecated logging level everything +% Ignoring deprecated logging level 'everything' keyword logging_vty_test# log-sweep eee DEEE NOTICE Log message for DEEE on level LOGL_NOTICE DEEE ERROR Log message for DEEE on level LOGL_ERROR |