diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-02-06 00:52:08 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-02-06 02:04:51 +0100 |
commit | 22772cc5293af7944b5fa2fd374652827cb4229d (patch) | |
tree | c5172cccf710a74206b74cb3ba6ce5748fdd3963 /src | |
parent | 80f4c4eb089e87cb1a9c6843b60836b7a6952164 (diff) |
vty: fix 'logging print file' output
In If1bd79026a3c680ccf7587d545d12f7759a998fc, an erratic logging output crept
in for an earlier patch state and was merged by accident; fix 'logging print
file (0|1|basename)' output.
Add value string to map LOG_FILENAME_* enum to VTY args, use for both command
evaluation as well as printing the vty config.
The default is 'logging print file 1', hence we could omit an output when '1'
is chosen. But for clarity, always output the current setting.
Change-Id: I1c931bff1f1723aa82bead9dfe548e4cc5b685e0
Diffstat (limited to 'src')
-rw-r--r-- | src/vty/logging_vty.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/vty/logging_vty.c b/src/vty/logging_vty.c index 0eaa7fd3..09d207a7 100644 --- a/src/vty/logging_vty.c +++ b/src/vty/logging_vty.c @@ -237,6 +237,13 @@ DEFUN(logging_prnt_level, return CMD_SUCCESS; } +static const struct value_string logging_print_file_args[] = { + { LOG_FILENAME_NONE, "0" }, + { LOG_FILENAME_PATH, "1" }, + { LOG_FILENAME_BASENAME, "basename" }, + { 0, NULL } +}; + DEFUN(logging_prnt_file, logging_prnt_file_cmd, "logging print file (0|1|basename)", @@ -247,16 +254,11 @@ DEFUN(logging_prnt_file, "Prefix each log message with the source file's basename (strip leading paths) and line\n") { struct log_target *tgt = osmo_log_vty2tgt(vty); - enum log_filename_type lft; if (!tgt) return CMD_WARNING; - if (!strcmp(argv[0], "basename")) - lft = LOG_FILENAME_BASENAME; - else - lft = atoi(argv[0])? LOG_FILENAME_PATH : LOG_FILENAME_NONE; - log_set_print_filename2(tgt, lft); + log_set_print_filename2(tgt, get_string_value(logging_print_file_args, argv[0])); return CMD_SUCCESS; } @@ -793,8 +795,9 @@ static int config_write_log_single(struct vty *vty, struct log_target *tgt) tgt->print_timestamp ? 1 : 0, VTY_NEWLINE); if (tgt->print_level) vty_out(vty, " logging print level 1%s", VTY_NEWLINE); - if (tgt->print_filename) - vty_out(vty, " logging print file 1%s", VTY_NEWLINE); + vty_out(vty, " logging print file %s%s", + get_value_string(logging_print_file_args, tgt->print_filename2), + VTY_NEWLINE); /* stupid old osmo logging API uses uppercase strings... */ osmo_str2lower(level_lower, log_level_str(tgt->loglevel)); |