From b79bdd99e5c803e65ae77aef8d22c0b5c74fd175 Mon Sep 17 00:00:00 2001 From: "Harald Welte (local)" Date: Sat, 26 Dec 2009 19:45:22 +0100 Subject: [debug] add new 'logging level' command to set loglevel more user friendly --- openbsc/src/vty_interface.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'openbsc/src/vty_interface.c') diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c index 9645af23a..483917297 100644 --- a/openbsc/src/vty_interface.c +++ b/openbsc/src/vty_interface.c @@ -925,7 +925,7 @@ DEFUN(logging_fltr_all, DEFUN(logging_use_clr, logging_use_clr_cmd, - "logging use color <0-1>", + "logging color <0-1>", "Use color for printing messages\n") { struct telnet_connection *conn; @@ -942,7 +942,7 @@ DEFUN(logging_use_clr, DEFUN(logging_prnt_timestamp, logging_prnt_timestamp_cmd, - "logging print timestamp <0-1>", + "logging timestamp <0-1>", "Print the timestamp of each message\n") { struct telnet_connection *conn; @@ -957,6 +957,32 @@ DEFUN(logging_prnt_timestamp, return CMD_SUCCESS; } +#define VTY_DEBUG_CATEGORIES "(rll|cc|mm|rr|rsl|nm|sms|pag|mncc|inp|mi|mib|mux|meas|sccp|msc|mgcp|ho|db|ref)" +DEFUN(logging_level, + logging_level_cmd, + "logging level " VTY_DEBUG_CATEGORIES " <0-8>", + "Set the log level for a specified category\n") +{ + struct telnet_connection *conn; + int category = debug_parse_category(argv[0]); + + conn = (struct telnet_connection *) vty->priv; + if (!conn->dbg) { + vty_out(vty, "Logging was not enabled.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (category < 0) { + vty_out(vty, "Invalid category `%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + conn->dbg->categories[category].enabled = 1; + conn->dbg->categories[category].loglevel = atoi(argv[1]); + + return CMD_SUCCESS; +} + DEFUN(logging_set_category_mask, logging_set_category_mask_cmd, "logging set debug mask MASK", @@ -1753,6 +1779,7 @@ int bsc_vty_init(struct gsm_network *net) install_element(VIEW_NODE, &logging_use_clr_cmd); install_element(VIEW_NODE, &logging_prnt_timestamp_cmd); install_element(VIEW_NODE, &logging_set_category_mask_cmd); + install_element(VIEW_NODE, &logging_level_cmd); install_element(CONFIG_NODE, &cfg_net_cmd); install_node(&net_node, config_write_net); -- cgit v1.2.3