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 /res | |
parent | f5b31cb2ae8f67d0d3e1ded8fc78efe39631b8db (diff) | |
parent | 30cb4eb57fe25e14a14e99008f5706b0f994d10b (diff) |
Merge "PJPROJECT logging: Fix detection of max supported log level." into 13
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjproject.c | 29 | ||||
-rw-r--r-- | res/res_rtp_asterisk.c | 2 |
2 files changed, 21 insertions, 10 deletions
diff --git a/res/res_pjproject.c b/res/res_pjproject.c index cd562663b..e02515b48 100644 --- a/res/res_pjproject.c +++ b/res/res_pjproject.c @@ -412,18 +412,22 @@ static char *handle_pjproject_set_log_level(struct ast_cli_entry *e, int cmd, st } /* Update pjproject logging level */ + if (ast_pjproject_max_log_level < level_new) { + level_new = ast_pjproject_max_log_level; + ast_cli(a->fd, + "Asterisk built or linked with pjproject PJ_LOG_MAX_LEVEL=%d.\n" + "Lowering request to the max supported level.\n", + ast_pjproject_max_log_level); + } level_old = ast_option_pjproject_log_level; if (level_old == level_new) { ast_cli(a->fd, "pjproject log level is still %d.\n", level_old); } else { ast_cli(a->fd, "pjproject log level was %d and is now %d.\n", level_old, level_new); + ast_option_pjproject_log_level = level_new; pj_log_set_level(level_new); } - ast_option_pjproject_log_level = pj_log_get_level(); - if (ast_option_pjproject_log_level != level_new) { - ast_log(LOG_WARNING, "Asterisk built with pjproject PJ_LOG_MAX_LEVEL set too low.\n"); - } return CLI_SUCCESS; } @@ -497,7 +501,7 @@ static int load_module(void) ast_sorcery_load(pjproject_sorcery); - pj_log_set_level(ast_option_pjproject_log_level); + AST_PJPROJECT_INIT_LOG_LEVEL(); pj_init(); decor_orig = pj_log_get_decor(); @@ -514,12 +518,19 @@ static int load_module(void) pj_log_set_decor(0); pj_log_set_level(MAX_PJ_LOG_MAX_LEVEL);/* Set level to guarantee the dump output. */ pj_dump_config(); - pj_log_set_level(ast_option_pjproject_log_level); pj_log_set_decor(PJ_LOG_HAS_SENDER | PJ_LOG_HAS_INDENT); pj_log_set_log_func(log_forwarder); - if (!AST_VECTOR_SIZE(&buildopts) - || ast_option_pjproject_log_level != pj_log_get_level()) { - ast_log(LOG_WARNING, "Asterisk built or linked with pjproject PJ_LOG_MAX_LEVEL set too low.\n"); + if (ast_pjproject_max_log_level < ast_option_pjproject_log_level) { + ast_log(LOG_WARNING, + "Asterisk built or linked with pjproject PJ_LOG_MAX_LEVEL=%d which is too low for startup level: %d.\n", + ast_pjproject_max_log_level, ast_option_pjproject_log_level); + ast_option_pjproject_log_level = ast_pjproject_max_log_level; + } + pj_log_set_level(ast_option_pjproject_log_level); + if (!AST_VECTOR_SIZE(&buildopts)) { + ast_log(LOG_NOTICE, + "Asterisk built or linked with pjproject PJ_LOG_MAX_LEVEL=%d which is too low to get buildopts.\n", + ast_pjproject_max_log_level); } ast_cli_register_multiple(pjproject_cli, ARRAY_LEN(pjproject_cli)); diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 25d2a1fc9..43d0ae20a 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -5669,7 +5669,7 @@ static int load_module(void) #ifdef HAVE_PJPROJECT pj_lock_t *lock; - pj_log_set_level(ast_option_pjproject_log_level); + AST_PJPROJECT_INIT_LOG_LEVEL(); if (pj_init() != PJ_SUCCESS) { return AST_MODULE_LOAD_DECLINE; } |