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
This commit is contained in:
Matthew Jordan 2015-04-08 11:35:53 +00:00
parent d923ec80b9
commit 016fba12e2
3 changed files with 21 additions and 3 deletions

View File

@ -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 ------------
------------------------------------------------------------------------------

View File

@ -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");

View File

@ -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.
;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.