From f0c7729f8104c5ce4dcf743cd1ae4c0a05fe9efc Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Fri, 11 Mar 2005 08:24:23 +0000 Subject: Add sample experimental patch to show "make apply", "make unapply", "make patchlist", and "make update" targets git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5166 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- patches/.cvsignore | 2 + patches/queue_log | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100755 patches/.cvsignore create mode 100755 patches/queue_log (limited to 'patches') diff --git a/patches/.cvsignore b/patches/.cvsignore new file mode 100755 index 000000000..975f88573 --- /dev/null +++ b/patches/.cvsignore @@ -0,0 +1,2 @@ +.applied +.tmpapplied diff --git a/patches/queue_log b/patches/queue_log new file mode 100755 index 000000000..e4a8d1320 --- /dev/null +++ b/patches/queue_log @@ -0,0 +1,176 @@ +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. + ; -- cgit v1.2.3