From: Corey Farrell Date: Tue, 20 Sep 2016 14:22:45 +0000 (-0400) Subject: logger: Always enable verbose for console channel. X-Git-Tag: 14.1.0-rc1~39^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b61a21757ae1936b780b20bed26f7bb61fa15be;p=thirdparty%2Fasterisk.git logger: Always enable verbose for console channel. Previous versions of Asterisk did not require verbose to be specified in logger.conf for the console channel, if it was requested by command line or asterisk.conf it just worked. This change causes Asterisk to always enable verbose in the console channel level mask. Verbose is displayed on consoles if requested by command line, option_verbose or 'core set verbose'. This also delays initialization of the logger until after threadstorage is initialized. Initializing too early can cause messages to be printed multiple times to the console (stdout). ASTERISK-26391 #close Change-Id: I52187d67c2fcb3efd5561bf04b3e5e23e5ee8a04 --- diff --git a/main/asterisk.c b/main/asterisk.c index 7b1338c3dc..fb47d9927e 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -4448,7 +4448,6 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou check_init(ast_format_cache_init(), "Format Cache"); check_init(ast_codec_builtin_init(), "Built-in Codecs"); check_init(aco_init(), "Configuration Option Framework"); - check_init(init_logger(), "Logger"); check_init(ast_bucket_init(), "Bucket API"); check_init(stasis_init(), "Stasis"); check_init(ast_stasis_system_init(), "Stasis system-level information"); @@ -4478,6 +4477,7 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou threadstorage_init(); + check_init(init_logger(), "Logger"); check_init(ast_rtp_engine_init(), "RTP Engine"); ast_autoservice_init(); diff --git a/main/logger.c b/main/logger.c index db3d7a730a..315de9f231 100644 --- a/main/logger.c +++ b/main/logger.c @@ -479,6 +479,7 @@ static void make_components(struct logchannel *chan) * with calculating the ast_verb_sys_level value. */ chan->verbosity = -1; + logmask |= (1 << __LOG_VERBOSE); } else { chan->verbosity = verb_level; } @@ -663,7 +664,8 @@ static int init_logger_chain(const char *altconf) return -1; } chan->type = LOGTYPE_CONSOLE; - chan->logmask = (1 << __LOG_WARNING) | (1 << __LOG_NOTICE) | (1 << __LOG_ERROR); + chan->logmask = (1 << __LOG_WARNING) | (1 << __LOG_NOTICE) | (1 << __LOG_ERROR) + | (1 << __LOG_VERBOSE); memcpy(&chan->formatter, &logformatter_default, sizeof(chan->formatter)); AST_RWLIST_INSERT_HEAD(&logchannels, chan, list);