[Asterisk-cvs] asterisk/patches .cvsignore, NONE, 1.1 queue_log, NONE, 1.1

markster at lists.digium.com markster at lists.digium.com
Fri Mar 11 02:28:07 CST 2005


Update of /usr/cvsroot/asterisk/patches
In directory mongoose.digium.com:/tmp/cvs-serv11043/patches

Added Files:
	.cvsignore queue_log 
Log Message:
Add sample experimental patch to show "make apply", "make unapply", "make patchlist", and "make update" targets


--- NEW FILE: .cvsignore ---
.applied
.tmpapplied

--- NEW FILE: queue_log ---
Index: logger.c
===================================================================
RCS file: /usr/cvsroot/asterisk/logger.c,v
retrieving revision 1.55
diff -u -r1.55 logger.c
--- logger.c	25 Jan 2005 06:10:19 -0000	1.55
+++ logger.c	9 Mar 2005 21:25:25 -0000
@@ -61,6 +61,11 @@
 static int pending_logger_reload = 0;
 static int global_logmask = -1;
 
+static struct {
+	unsigned int queue_log:1;
+	unsigned int event_log:1;
+} logfiles = { 1, 1 };
+
 static struct msglist {
 	char *msg;
 	struct msglist *next;
@@ -288,6 +293,13 @@
 		strncpy(dateformat, s, sizeof(dateformat) - 1);
 	} else
 		strncpy(dateformat, "%b %e %T", sizeof(dateformat) - 1);
+	if ((s = ast_variable_retrieve(cfg, "general", "queue_log"))) {
+		logfiles.queue_log = ast_true(s);
+	}
+	if ((s = ast_variable_retrieve(cfg, "general", "event_log"))) {
+		logfiles.event_log = ast_true(s);
+	}
+
 	var = ast_variable_browse(cfg, "logfiles");
 	while(var) {
 		chan = make_logchannel(var->name, var->value, var->lineno);
@@ -332,7 +344,9 @@
 		qlog = NULL;
 	}
 	snprintf(filename, sizeof(filename), "%s/%s", (char *)ast_config_AST_LOG_DIR, "queue_log");
-	qlog = fopen(filename, "a");
+	if (logfiles.queue_log) {
+		qlog = fopen(filename, "a");
+	}
 	ast_mutex_unlock(&qloglock);
 	if (reloaded) 
 		ast_queue_log("NONE", "NONE", "NONE", "CONFIGRELOAD", "%s", "");
@@ -360,22 +374,24 @@
 	mkdir((char *)ast_config_AST_LOG_DIR, 0755);
 	snprintf(old, sizeof(old), "%s/%s", (char *)ast_config_AST_LOG_DIR, EVENTLOG);
 
-	if(rotate) {
-		for(x=0;;x++) {
-			snprintf(new, sizeof(new), "%s/%s.%d", (char *)ast_config_AST_LOG_DIR, EVENTLOG,x);
-			myf = fopen((char *)new, "r");
-			if(myf) 
-				fclose(myf);
-			else
-				break;
-		}
+	if (logfiles.event_log) {
+		if (rotate) {
+			for (x=0;;x++) {
+				snprintf(new, sizeof(new), "%s/%s.%d", (char *)ast_config_AST_LOG_DIR, EVENTLOG,x);
+				myf = fopen((char *)new, "r");
+				if (myf) 
+					fclose(myf);
+				else
+					break;
+			}
 	
-		/* do it */
-		if (rename(old,new))
-			fprintf(stderr, "Unable to rename file '%s' to '%s'\n", old, new);
-	}
+			/* do it */
+			if (rename(old,new))
+				fprintf(stderr, "Unable to rename file '%s' to '%s'\n", old, new);
+		}
 
-	eventlog = fopen(old, "a");
+		eventlog = fopen(old, "a");
+	}
 
 	f = logchannels;
 	while(f) {
@@ -406,16 +422,17 @@
 	ast_mutex_unlock(&loglock);
 
 	queue_log_init();
-
-	if (eventlog) {
-		init_logger_chain();
-		ast_log(LOG_EVENT, "Restarted Asterisk Event Logger\n");
-		if (option_verbose)
-			ast_verbose("Asterisk Event Logger restarted\n");
-		return 0;
-	} else 
-		ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
 	init_logger_chain();
+
+	if (logfiles.event_log) {
+		if (eventlog) {
+			ast_log(LOG_EVENT, "Restarted Asterisk Event Logger\n");
+			if (option_verbose)
+				ast_verbose("Asterisk Event Logger restarted\n");
+			return 0;
+		} else 
+			ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
+	}
 	pending_logger_reload = 0;
 	return -1;
 }
@@ -487,21 +504,23 @@
 	/* initialize queue logger */
 	queue_log_init();
 
-	/* create the eventlog */
-	mkdir((char *)ast_config_AST_LOG_DIR, 0755);
-	snprintf(tmp, sizeof(tmp), "%s/%s", (char *)ast_config_AST_LOG_DIR, EVENTLOG);
-	eventlog = fopen((char *)tmp, "a");
-	if (eventlog) {
-		init_logger_chain();
-		ast_log(LOG_EVENT, "Started Asterisk Event Logger\n");
-		if (option_verbose)
-			ast_verbose("Asterisk Event Logger Started %s\n",(char *)tmp);
-		return 0;
-	} else 
-		ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
-
 	/* create log channels */
 	init_logger_chain();
+
+	/* create the eventlog */
+	if (logfiles.event_log) {
+		mkdir((char *)ast_config_AST_LOG_DIR, 0755);
+		snprintf(tmp, sizeof(tmp), "%s/%s", (char *)ast_config_AST_LOG_DIR, EVENTLOG);
+		eventlog = fopen((char *)tmp, "a");
+		if (eventlog) {
+			ast_log(LOG_EVENT, "Started Asterisk Event Logger\n");
+			if (option_verbose)
+				ast_verbose("Asterisk Event Logger Started %s\n",(char *)tmp);
+			return 0;
+		} else 
+			ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
+	}
+
 	return -1;
 }
 
@@ -572,7 +591,7 @@
 	localtime_r(&t, &tm);
 	strftime(date, sizeof(date), dateformat, &tm);
 
-	if (level == __LOG_EVENT) {
+	if (logfiles.event_log && level == __LOG_EVENT) {
 		va_start(ap, fmt);
 
 		fprintf(eventlog, "%s asterisk[%d]: ", date, getpid());
Index: configs/logger.conf.sample
===================================================================
RCS file: /usr/cvsroot/asterisk/configs/logger.conf.sample,v
retrieving revision 1.9
diff -u -r1.9 logger.conf.sample
--- configs/logger.conf.sample	5 Sep 2004 03:48:05 -0000	1.9
+++ configs/logger.conf.sample	9 Mar 2005 21:25:25 -0000
@@ -13,6 +13,12 @@
 ; This appends the hostname to the name of the log files.
 ;appendhostname = yes
 ;
+; This determines whether or not we log queue events to a file (defaults to yes).
+;queue_log = no
+;
+; This determines whether or not we log generic events to a file (defaults to yes).
+;event_log = no
+;
 ;
 ; For each file, specify what to log.
 ;




More information about the svn-commits mailing list