Dynamic logs fail to print if the global log level is less than dynamic loglevel. Example if the global log level is set to INFO and dynamic log level for a specific module is set to DEBUG then the log fails to print.
Check modules log level before checking the global log level. Fixes: c1b5fa94a46f ("eal: support dynamic log types") Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> --- lib/librte_eal/common/eal_common_log.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c index 061e96ef9..e31099d1a 100644 --- a/lib/librte_eal/common/eal_common_log.c +++ b/lib/librte_eal/common/eal_common_log.c @@ -336,12 +336,12 @@ rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap) } } - if (level > rte_logs.level) - return 0; if (logtype >= rte_logs.dynamic_types_len) return -1; - if (level > rte_logs.dynamic_types[logtype].loglevel) + if (level > rte_logs.dynamic_types[logtype].loglevel && + level > rte_logs.level) { return 0; + } /* save loglevel and logtype in a global per-lcore variable */ RTE_PER_LCORE(log_cur_msg).loglevel = level; -- 2.14.1