Apply queuelog patch and perform final test of "test patches" system
authorMark Spencer <markster@digium.com>
Fri, 11 Mar 2005 08:49:01 +0000 (08:49 +0000)
committerMark Spencer <markster@digium.com>
Fri, 11 Mar 2005 08:49:01 +0000 (08:49 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5168 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile
configs/logger.conf.sample
logger.c
patches/queue_log [deleted file]

index f1137ac..56b1dcc 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -660,7 +660,7 @@ apply:
 unapply: 
        @if [ -z "$(PATCH)" ]; then \
                echo "Usage: make PATCH=<patchname> unapply"; \
-       elif !grep -q ^$(PATCH)$$ patches/.applied 2>/dev/null; then \
+       elif ! grep -q ^$(PATCH)$$ patches/.applied 2>/dev/null; then \
                echo "Patch $(PATCH) is not applied"; \
        elif [ -f "patches/$(PATCH)" ]; then \
                echo "Un-applying patch $(PATCH)"; \
index bf28f2f..048d2ad 100755 (executable)
 ; 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.
 ;
index a8f7fe3..a1dad8e 100755 (executable)
--- a/logger.c
+++ b/logger.c
@@ -61,6 +61,11 @@ AST_MUTEX_DEFINE_STATIC(loglock);
 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 @@ static void init_logger_chain(void)
                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 @@ static void queue_log_init(void)
                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 @@ int reload_logger(int rotate)
        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 @@ int reload_logger(int rotate)
        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 @@ int init_logger(void)
        /* 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;
 }
 
@@ -576,7 +595,7 @@ void ast_log(int level, const char *file, int line, const char *function, const
        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());
diff --git a/patches/queue_log b/patches/queue_log
deleted file mode 100755 (executable)
index 50368f1..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-? .txt
-? DDR.MOV
-? FuzzyMath.mp3
-? config-mark.c
-? dont_panic.mp3
-? gmon.out
-? manpage.links
-? manpage.refs
-? markdiff.txt
-? mydiff.txt
-? newqueuelog
-? resume-ken-long.pdf
-? root.xwd
-? rtp-timestamp.diff.txt
-? stereo-1.0
-? test.call
-? test1.call
-? test2.call
-? test_js.txt
-? tmp1.gsm
-? tmp2.gsm
-? tmp3.gsm
-? tmp4.gsm
-? apps/app_read_broken.c
-? astman/.depend
-? astman/astman
-? cdr/cdr_csv2.c
-? channels/chan_sip_broken.c
-Index: logger.c
-===================================================================
-RCS file: /usr/cvsroot/asterisk/logger.c,v
-retrieving revision 1.57
-diff -u -r1.57 logger.c
---- logger.c   11 Mar 2005 07:24:10 -0000      1.57
-+++ logger.c   11 Mar 2005 08:27:54 -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;
- }
-@@ -576,7 +595,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 11 Mar 2005 08:27:55 -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.
- ;