summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2015-04-08 11:35:53 +0000
committerMatthew Jordan <mjordan@digium.com>2015-04-08 11:35:53 +0000
commit016fba12e2d1e4ca8a48af0a2090cb8a6b5a2272 (patch)
tree00396b0889c1df0689390e69ca7376991aa64985
parentd923ec80b989780798cccaa2334c73beaa1a13de (diff)
cel_pgsl: Add support for GMT timestamps
This patch adds a new option to cel_pgsl, "usegmtime", which causes timestamps to be logged in GMT. Review: https://reviewboard.asterisk.org/r/4571/ ASTERISK-23186 #close Reported by: Rodrigo Ramirez Norambuena patches: cel_pgsql.c_add_usegmtime2.patch submitted by Rodrigo Ramirez Norambuena (License 6577) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--CHANGES9
-rw-r--r--cel/cel_pgsql.c10
-rw-r--r--configs/samples/cel_pgsql.conf.sample5
3 files changed, 21 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index f3ab90d2a..e36af4ac5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -106,6 +106,15 @@ res_musiconhold
over the channel-set musicclass. This allows separate hold-music from
application (e.g. Queue or Dial) specified music.
+
+CEL Backends
+------------------
+
+cel_pgsql
+------------------
+* Added a new option, 'usegmtime', which causes timestamps in CEL events
+ to be logged in GMT.
+
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 13.3.0 to Asterisk 13.4.0 ------------
------------------------------------------------------------------------------
diff --git a/cel/cel_pgsql.c b/cel/cel_pgsql.c
index f9c098fed..56a6069d4 100644
--- a/cel/cel_pgsql.c
+++ b/cel/cel_pgsql.c
@@ -72,6 +72,7 @@ static char *table;
static int connected = 0;
static int maxsize = 512, maxsize2 = 512;
+static int usegmtime = 0;
/*! \brief show_user_def is off by default */
#define CEL_SHOW_USERDEF_DEFAULT 0
@@ -166,7 +167,7 @@ static void pgsql_log(struct ast_event *event)
ast_mutex_lock(&pgsql_lock);
- ast_localtime(&record.event_time, &tm, NULL);
+ ast_localtime(&record.event_time, &tm, usegmtime ? "GMT" : NULL);
ast_strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm);
if ((!connected) && pghostname && pgdbuser && pgpassword && pgdbname) {
@@ -215,7 +216,7 @@ static void pgsql_log(struct ast_event *event)
} else {
/* char, hopefully */
LENGTHEN_BUF2(31);
- ast_localtime(&record.event_time, &tm, NULL);
+ ast_localtime(&record.event_time, &tm, usegmtime ? "GMT" : NULL);
ast_strftime(buf, sizeof(buf), DATE_FORMAT, &tm);
ast_str_append(&sql2, 0, "%s'%s'", SEP, buf);
}
@@ -515,6 +516,11 @@ static int process_my_load_module(struct ast_config *cfg)
if ((tmp = ast_variable_retrieve(cfg, "global", "show_user_defined"))) {
cel_show_user_def = ast_true(tmp) ? 1 : 0;
}
+ if ((tmp = ast_variable_retrieve(cfg, "global", "usegmtime"))) {
+ usegmtime = ast_true(tmp);
+ } else {
+ usegmtime = 0;
+ }
if (option_debug) {
if (ast_strlen_zero(pghostname)) {
ast_debug(3, "cel_pgsql: using default unix socket\n");
diff --git a/configs/samples/cel_pgsql.conf.sample b/configs/samples/cel_pgsql.conf.sample
index 2298b2ddc..30c789e4c 100644
--- a/configs/samples/cel_pgsql.conf.sample
+++ b/configs/samples/cel_pgsql.conf.sample
@@ -59,10 +59,13 @@
;
;show_user_defined=yes
+; Log date/time in GMT. The default of this option is 'no'.
+;usegmtime=yes
+
;hostname=localhost
;port=5432
;dbname=asterisk
;password=password
;user=postgres
;table=cel ;SQL table where CEL's will be inserted
-;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed. \ No newline at end of file
+;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.