From e14ae8b10b78d4a172609211cd71fb210c9ce632 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Sun, 24 Oct 2004 06:12:21 +0000 Subject: Don't execute log functions for log levels we don't track git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4078 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- logger.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'logger.c') diff --git a/logger.c b/logger.c index 683c186da..0fd0b2f29 100755 --- a/logger.c +++ b/logger.c @@ -52,6 +52,7 @@ static char dateformat[256] = "%b %e %T"; /* Original Asterisk Format */ AST_MUTEX_DEFINE_STATIC(msglist_lock); AST_MUTEX_DEFINE_STATIC(loglock); static int pending_logger_reload = 0; +static int global_logmask = 0; static struct msglist { char *msg; @@ -211,6 +212,7 @@ static void init_logger_chain(void) logchannels = NULL; ast_mutex_unlock(&loglock); + global_logmask = 0; /* close syslog */ closelog(); @@ -241,6 +243,7 @@ static void init_logger_chain(void) if (chan) { chan->next = logchannels; logchannels = chan; + global_logmask |= chan->logmask; } var = var->next; } @@ -507,6 +510,9 @@ void ast_log(int level, const char *file, int line, const char *function, const if (!option_verbose && !option_debug && (level == __LOG_DEBUG)) { return; } + /* Ignore anything that never gets logged anywhere */ + if (!(global_logmask & (1 << level))) + return; /* begin critical section */ ast_mutex_lock(&loglock); -- cgit v1.2.3