diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h index 91824d7044..322214e739 100644 --- a/include/asterisk/logger.h +++ b/include/asterisk/logger.h @@ -98,7 +98,10 @@ void ast_console_puts_mutable(const char *string, int level); void ast_console_toggle_mute(int fd, int silent); /*! - * \since 1.6.1 + * \brief enables or disables logging of a specified level to the console + * fd specifies the index of the console receiving the level change + * level specifies the index of the logging level being toggled + * state indicates whether logging will be on or off (0 for off, 1 for on) */ void ast_console_toggle_loglevel(int fd, int level, int state); diff --git a/main/asterisk.c b/main/asterisk.c index eed623b061..beba0679c5 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -1082,12 +1082,19 @@ int ast_safe_system(const char *s) return res; } +/*! + * \brief enable or disable a logging level to a specified console + */ void ast_console_toggle_loglevel(int fd, int level, int state) { int x; for (x = 0;x < AST_MAX_CONNECTS; x++) { if (fd == consoles[x].fd) { - consoles[x].levels[level] = state; + /* + * Since the logging occurs when levels are false, set to + * flipped iinput because this function accepts 0 as off and 1 as on + */ + consoles[x].levels[level] = state ? 0 : 1; return; } }