summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--configs/logger.conf.sample4
-rw-r--r--main/logger.c6
3 files changed, 12 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 6e78fb02d..2cc6145ec 100644
--- a/CHANGES
+++ b/CHANGES
@@ -67,6 +67,9 @@ Logging
individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
least one member of any queue exists for that interface.
+ * Added the 'queue_log_realtime_use_gmt' option to have timestamps in GMT
+ for realtime queue log entries.
+
Queue
-------------------
* Add queue available hint. exten => 8501,hint,Queue:markq_avail
diff --git a/configs/logger.conf.sample b/configs/logger.conf.sample
index 406d6d820..173fce9a3 100644
--- a/configs/logger.conf.sample
+++ b/configs/logger.conf.sample
@@ -39,6 +39,10 @@
; (defaults to queue_log)
;queue_log_name = queue_log
;
+; When using realtime for the queue log, use GMT for the timestamp
+; instead of localtime. The default of this option is 'no'.
+;queue_log_realtime_use_gmt = yes
+;
; Log rotation strategy:
; none: Do not perform any logrotation at all. You should make
; very sure to set up some external logrotate mechanism
diff --git a/main/logger.c b/main/logger.c
index 3caea6cc5..656117ce5 100644
--- a/main/logger.c
+++ b/main/logger.c
@@ -111,6 +111,7 @@ static struct {
unsigned int queue_log:1;
unsigned int queue_log_to_file:1;
unsigned int queue_adaptive_realtime:1;
+ unsigned int queue_log_realtime_use_gmt:1;
} logfiles = { 1 };
static char hostname[MAXHOSTNAMELEN];
@@ -427,6 +428,9 @@ static void init_logger_chain(int locked, const char *altconf)
if ((s = ast_variable_retrieve(cfg, "general", "queue_log_name"))) {
ast_copy_string(queue_log_name, s, sizeof(queue_log_name));
}
+ if ((s = ast_variable_retrieve(cfg, "general", "queue_log_realtime_use_gmt"))) {
+ logfiles.queue_log_realtime_use_gmt = ast_true(s);
+ }
if ((s = ast_variable_retrieve(cfg, "general", "exec_after_rotate"))) {
ast_copy_string(exec_after_rotate, s, sizeof(exec_after_rotate));
}
@@ -554,7 +558,7 @@ void ast_queue_log(const char *queuename, const char *callid, const char *agent,
if (ast_check_realtime("queue_log")) {
tv = ast_tvnow();
- ast_localtime(&tv, &tm, NULL);
+ ast_localtime(&tv, &tm, logfiles.queue_log_realtime_use_gmt ? "GMT" : NULL);
ast_strftime(time_str, sizeof(time_str), "%F %T.%6q", &tm);
va_start(ap, fmt);
vsnprintf(qlog_msg, sizeof(qlog_msg), fmt, ap);