summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-03-11 08:49:01 +0000
committerMark Spencer <markster@digium.com>2005-03-11 08:49:01 +0000
commitdbd42a645f2a9906aac3af2163968edfb51590d9 (patch)
tree9f4ff0c572e848aa9a888368f593ddbb47250ff0
parent2e0cf7a00c7a6a953ea975696b0aa7b995737e9a (diff)
Apply queuelog patch and perform final test of "test patches" system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xMakefile2
-rwxr-xr-xconfigs/logger.conf.sample6
-rwxr-xr-xlogger.c95
-rwxr-xr-xpatches/queue_log204
4 files changed, 64 insertions, 243 deletions
diff --git a/Makefile b/Makefile
index f1137ac92..56b1dcc7b 100755
--- 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)"; \
diff --git a/configs/logger.conf.sample b/configs/logger.conf.sample
index bf28f2f40..048d2ad23 100755
--- a/configs/logger.conf.sample
+++ b/configs/logger.conf.sample
@@ -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.
;
diff --git a/logger.c b/logger.c
index a8f7fe3fe..a1dad8eaf 100755
--- 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
index 50368f151..000000000
--- a/patches/queue_log
+++ /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.
- ;