aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asterisk/logger.h3
-rw-r--r--main/loader.c1
-rw-r--r--main/logger.c20
3 files changed, 18 insertions, 6 deletions
diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h
index 63b3cdbb0..58bf1804b 100644
--- a/include/asterisk/logger.h
+++ b/include/asterisk/logger.h
@@ -64,6 +64,9 @@ void ast_log(int level, const char *file, int line, const char *function, const
void ast_backtrace(void);
+/*! \brief Reload logger without rotating log files */
+int logger_reload(void);
+
void ast_queue_log(const char *queuename, const char *callid, const char *agent, const char *event, const char *fmt, ...)
__attribute__ ((format (printf, 5, 6)));
diff --git a/main/loader.c b/main/loader.c
index 6522f01bf..aa17fcb31 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -239,6 +239,7 @@ static struct reload_classes {
{ "manager", reload_manager },
{ "rtp", ast_rtp_reload },
{ "http", ast_http_reload },
+ { "logger", logger_reload },
{ NULL, NULL }
};
diff --git a/main/logger.c b/main/logger.c
index 50d8ca1ab..79ff8deaf 100644
--- a/main/logger.c
+++ b/main/logger.c
@@ -483,13 +483,21 @@ int reload_logger(int rotate)
return res;
}
+/*! \brief Reload the logger module without rotating log files (also used from loader.c during
+ a full Asterisk reload) */
+int logger_reload(void)
+{
+ if(reload_logger(0))
+ return RESULT_FAILURE;
+ return RESULT_SUCCESS;
+}
+
static int handle_logger_reload(int fd, int argc, char *argv[])
{
- if(reload_logger(0)) {
+ int result = logger_reload();
+ if (result == RESULT_FAILURE)
ast_cli(fd, "Failed to reload the logger\n");
- return RESULT_FAILURE;
- } else
- return RESULT_SUCCESS;
+ return result;
}
static int handle_logger_rotate(int fd, int argc, char *argv[])
@@ -497,8 +505,8 @@ static int handle_logger_rotate(int fd, int argc, char *argv[])
if(reload_logger(1)) {
ast_cli(fd, "Failed to reload the logger and rotate log files\n");
return RESULT_FAILURE;
- } else
- return RESULT_SUCCESS;
+ }
+ return RESULT_SUCCESS;
}
/*! \brief CLI command to show logging system configuration */