[Asterisk-cvs] asterisk asterisk.8.gz, 1.1, 1.2 asterisk.c, 1.142,
1.143 asterisk.sgml, 1.1, 1.2 logger.c, 1.56, 1.57
markster at lists.digium.com
markster at lists.digium.com
Fri Mar 11 01:27:53 CST 2005
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv10656
Modified Files:
asterisk.8.gz asterisk.c asterisk.sgml logger.c
Log Message:
Add timestamping to console (bug #3653 with minor mods)
Index: asterisk.8.gz
===================================================================
RCS file: /usr/cvsroot/asterisk/asterisk.8.gz,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
Binary files /tmp/cvs9vPFL1 and /tmp/cvsoCfODZ differ
Index: asterisk.c
===================================================================
RCS file: /usr/cvsroot/asterisk/asterisk.c,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -d -r1.142 -r1.143
--- asterisk.c 5 Mar 2005 04:04:55 -0000 1.142
+++ asterisk.c 11 Mar 2005 07:24:10 -0000 1.143
@@ -81,6 +81,7 @@
int option_nocolor;
int option_dumpcore = 0;
int option_cache_record_files = 0;
+int option_timestamp = 0;
int option_overrideconfig = 0;
int option_reconnect = 0;
int fully_booted = 0;
@@ -1539,6 +1540,7 @@
printf(" -r Connect to Asterisk on this machine\n");
printf(" -R Connect to Asterisk, and attempt to reconnect if disconnected\n");
printf(" -t Record soundfiles in /var/tmp and move them where they belong after they are done.\n");
+ printf(" -T Display the time in [Mmm dd hh:mm:ss] format for each line of output to the CLI.\n");
printf(" -v Increase verbosity (multiple v's = more verbose)\n");
printf(" -x <cmd> Execute command <cmd> (only valid with -r)\n");
printf("\n");
@@ -1611,6 +1613,9 @@
/* verbose level (-v at startup) */
if (!strcasecmp(v->name, "verbose")) {
option_verbose= atoi(v->value);
+ /* whether or not to force timestamping. (-T at startup) */
+ } else if (!strcasecmp(v->name, "timestamp")) {
+ option_timestamp = ast_true(v->value);
/* whether or not to support #exec in config files */
} else if (!strcasecmp(v->name, "execincludes")) {
option_exec_includes = ast_true(v->value);
@@ -1700,7 +1705,7 @@
}
*/
/* Check for options */
- while((c=getopt(argc, argv, "thfdvVqprRgcinx:U:G:C:")) != -1) {
+ while((c=getopt(argc, argv, "tThfdvVqprRgcinx:U:G:C:")) != -1) {
switch(c) {
case 'd':
option_debug++;
@@ -1738,6 +1743,9 @@
case 't':
option_cache_record_files++;
break;
+ case 'T':
+ option_timestamp++;
+ break;
case 'x':
option_exec++;
xarg = optarg;
Index: asterisk.sgml
===================================================================
RCS file: /usr/cvsroot/asterisk/asterisk.sgml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- asterisk.sgml 18 Jul 2004 17:58:05 -0000 1.1
+++ asterisk.sgml 11 Mar 2005 07:24:10 -0000 1.2
@@ -21,7 +21,7 @@
<refsynopsisdiv>
<cmdsynopsis>
<command>asterisk</command>
-<arg><option>-hfdvVqpRgcin</option></arg>
+<arg><option>-tThfdvVqpRgcin</option></arg>
<arg><option>-C </option><replaceable class="parameter">file</replaceable></arg>
<arg><option>-U </option><replaceable class="parameter">user</replaceable></arg>
<arg><option>-G </option><replaceable class="parameter">group</replaceable></arg>
@@ -191,6 +191,24 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term>-t</term>
+ <listitem>
+ <para>
+ When recording files, write them first into a temporary holding directory,
+ then move them into the final location when done.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-T</term>
+ <listitem>
+ <para>
+ Add timestamp to all non-command related output going to the console
+ when running with verbose and/or logging to the console.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term>-U <replaceable class="parameter">user</replaceable></term>
<listitem>
<para>
Index: logger.c
===================================================================
RCS file: /usr/cvsroot/asterisk/logger.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- logger.c 5 Mar 2005 04:04:55 -0000 1.56
+++ logger.c 11 Mar 2005 07:24:10 -0000 1.57
@@ -601,14 +601,14 @@
if (level != __LOG_VERBOSE) {
sprintf(linestr, "%d", line);
- snprintf(buf, sizeof(buf), "%s %s[%ld]: %s:%s %s: ",
+ snprintf(buf, sizeof(buf), option_timestamp ? "[%s] %s[%ld]: %s:%s %s: " : "%s %s[%ld]: %s:%s %s: ",
date,
term_color(tmp1, levels[level], colors[level], 0, sizeof(tmp1)),
(long)GETTID(),
term_color(tmp2, file, COLOR_BRWHITE, 0, sizeof(tmp2)),
term_color(tmp3, linestr, COLOR_BRWHITE, 0, sizeof(tmp3)),
term_color(tmp4, function, COLOR_BRWHITE, 0, sizeof(tmp4)));
-
+
ast_console_puts(buf);
va_start(ap, fmt);
vsnprintf(buf, sizeof(buf), fmt, ap);
@@ -616,7 +616,7 @@
ast_console_puts(buf);
}
} else if ((chan->logmask & (1 << level)) && (chan->fileptr)) {
- snprintf(buf, sizeof(buf), "%s %s[%ld]: ", date,
+ snprintf(buf, sizeof(buf), option_timestamp ? "[%s] %s[%ld]: " : "%s %s[%ld]: ", date,
levels[level], (long)GETTID());
fprintf(chan->fileptr, buf);
va_start(ap, fmt);
@@ -657,13 +657,30 @@
static int replacelast = 0, complete;
struct msglist *m;
struct verb *v;
+ time_t t;
+ struct tm tm;
+ char date[40];
+ char *datefmt;
+
va_list ap;
va_start(ap, fmt);
ast_mutex_lock(&msglist_lock);
+ time(&t);
+ localtime_r(&t, &tm);
+ strftime(date, sizeof(date), dateformat, &tm);
+
+ if (option_timestamp) {
+ datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1);
+ if (datefmt) {
+ sprintf(datefmt, "[%s] %s", date, fmt);
+ fmt = datefmt;
+ }
+ }
vsnprintf(stuff + pos, sizeof(stuff) - pos, fmt, ap);
opos = pos;
pos = strlen(stuff);
+
if (stuff[strlen(stuff)-1] == '\n')
complete = 1;
else
@@ -703,7 +720,6 @@
}
} /* else
fprintf(stdout, stuff + opos); */
-
ast_log(LOG_VERBOSE, "%s", stuff);
if (strlen(stuff)) {
if (stuff[strlen(stuff)-1] != '\n')
More information about the svn-commits
mailing list