[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