diff options
| author | Lou Berger <lberger@labn.net> | 2018-06-22 13:13:05 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-22 13:13:05 -0400 |
| commit | ec446a4673631437823065eb47672549e3be9766 (patch) | |
| tree | 5aa01d0a9f2162ff4f727413773544b1a56087d4 /lib/command.c | |
| parent | 0a8990d5f889113659abba6b61988244a07b2b81 (diff) | |
| parent | 3cf3e018a916254b03b5685bd6da557daa53e4c6 (diff) | |
Merge pull request #2449 from donaldsharp/lib_delayed_read
Lib delayed read
Diffstat (limited to 'lib/command.c')
| -rw-r--r-- | lib/command.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/lib/command.c b/lib/command.c index a8e61c6bb4..4ab47e5fc2 100644 --- a/lib/command.c +++ b/lib/command.c @@ -2429,7 +2429,8 @@ static int set_log_file(struct vty *vty, const char *fname, int loglevel) XFREE(MTYPE_TMP, p); if (!ret) { - vty_out(vty, "can't open logfile %s\n", fname); + if (vty) + vty_out(vty, "can't open logfile %s\n", fname); return CMD_WARNING_CONFIG_FAILED; } @@ -2445,6 +2446,36 @@ static int set_log_file(struct vty *vty, const char *fname, int loglevel) return CMD_SUCCESS; } +void command_setup_early_logging(const char *dest, const char *level) +{ + char *token; + + if (level) { + int nlevel = level_match(level); + + if (nlevel != ZLOG_DISABLED) + zlog_default->default_lvl = nlevel; + } + + if (!dest) + return; + + if (strcmp(dest, "stdout") == 0) { + zlog_set_level(ZLOG_DEST_STDOUT, zlog_default->default_lvl); + return; + } + + if (strcmp(dest, "syslog") == 0) { + zlog_set_level(ZLOG_DEST_SYSLOG, zlog_default->default_lvl); + return; + } + + token = strstr(dest, ":"); + token++; + + set_log_file(NULL, token, zlog_default->default_lvl); +} + DEFUN (config_log_file, config_log_file_cmd, "log file FILENAME [<emergencies|alerts|critical|errors|warnings|notifications|informational|debugging>]", |
