diff options
author | George Joseph <gjoseph@digium.com> | 2017-01-26 18:52:31 -0600 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-01-26 18:52:31 -0600 |
commit | b39c04fc02015ef66aa37f427bbd5c311ef10ae7 (patch) | |
tree | fcbacfa5886f1faf50a946acb48e39752d11f0dd /include/asterisk | |
parent | f5b31cb2ae8f67d0d3e1ded8fc78efe39631b8db (diff) | |
parent | 30cb4eb57fe25e14a14e99008f5706b0f994d10b (diff) |
Merge "PJPROJECT logging: Fix detection of max supported log level." into 13
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/options.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/asterisk/options.h b/include/asterisk/options.h index 0f8c6f87e..950764e15 100644 --- a/include/asterisk/options.h +++ b/include/asterisk/options.h @@ -143,6 +143,33 @@ enum ast_option_flags { */ #define DEFAULT_PJ_LOG_MAX_LEVEL 2 +/*! + * \brief Get maximum log level pjproject was compiled with. + * + * \details + * Determine the maximum log level the pjproject we are running + * with supports. + * + * When pjproject is initially loaded the default log level in + * effect is the maximum log level the library was compiled to + * generate. We must save this value off somewhere before we + * change it to what we want to use as the default level. + * + * \note This must be done before calling pj_init() so the level + * we want to use as the default level is in effect while the + * library initializes. + */ +#define AST_PJPROJECT_INIT_LOG_LEVEL() \ + do { \ + if (ast_pjproject_max_log_level < 0) { \ + ast_pjproject_max_log_level = pj_log_get_level(); \ + } \ + pj_log_set_level(ast_option_pjproject_log_level); \ + } while (0) + +/*! Current linked pjproject maximum logging level */ +extern int ast_pjproject_max_log_level; + /*! Current pjproject logging level */ extern int ast_option_pjproject_log_level; |