summaryrefslogtreecommitdiff
path: root/main/logger.c
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2015-05-20 21:53:46 -0400
committerCorey Farrell <git@cfware.com>2015-05-20 21:22:39 -0500
commitd067847695ae4527a706e516b5eea56a8ba7cdbf (patch)
tree50ffeada4828b6cde42636707e59fb8d9c26e8d0 /main/logger.c
parent3f5a86037dc3b02933c8518e12827dba4852c155 (diff)
Logger: Reset defaults before processing config.
Reset options to default values before reloading config. This ensures that if a setting is removed or commented out of the configuration file it is unset on reload. ASTERISK-25112 #close Reported by: Corey Farrell Change-Id: Id24bb1fb0885c2c14cf8bd6f69a0c2ee7cd6c5bd
Diffstat (limited to 'main/logger.c')
-rw-r--r--main/logger.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/main/logger.c b/main/logger.c
index 41f26e823..bdcd6c4f5 100644
--- a/main/logger.c
+++ b/main/logger.c
@@ -375,16 +375,25 @@ static int init_logger_chain(int locked, const char *altconf)
const char *s;
struct ast_flags config_flags = { 0 };
- display_callids = 1;
-
if (!(cfg = ast_config_load2(S_OR(altconf, "logger.conf"), "logger", config_flags)) || cfg == CONFIG_STATUS_FILEINVALID) {
cfg = NULL;
}
- /* delete our list of log channels */
if (!locked) {
AST_RWLIST_WRLOCK(&logchannels);
}
+
+ /* Set defaults */
+ hostname[0] = '\0';
+ display_callids = 1;
+ memset(&logfiles, 0, sizeof(logfiles));
+ logfiles.queue_log = 1;
+ ast_copy_string(dateformat, "%b %e %T", sizeof(dateformat));
+ ast_copy_string(queue_log_name, QUEUELOG, sizeof(queue_log_name));
+ exec_after_rotate[0] = '\0';
+ rotatestrategy = SEQUENTIAL;
+
+ /* delete our list of log channels */
while ((chan = AST_RWLIST_REMOVE_HEAD(&logchannels, list))) {
ast_free(chan);
}
@@ -424,17 +433,14 @@ static int init_logger_chain(int locked, const char *altconf)
ast_copy_string(hostname, "unknown", sizeof(hostname));
fprintf(stderr, "What box has no hostname???\n");
}
- } else
- hostname[0] = '\0';
- } else
- hostname[0] = '\0';
+ }
+ }
if ((s = ast_variable_retrieve(cfg, "general", "display_callids"))) {
display_callids = ast_true(s);
}
- if ((s = ast_variable_retrieve(cfg, "general", "dateformat")))
+ if ((s = ast_variable_retrieve(cfg, "general", "dateformat"))) {
ast_copy_string(dateformat, s, sizeof(dateformat));
- else
- ast_copy_string(dateformat, "%b %e %T", sizeof(dateformat));
+ }
if ((s = ast_variable_retrieve(cfg, "general", "queue_log"))) {
logfiles.queue_log = ast_true(s);
}