eal: change several log levels matching a regexp
Introduce a function to set the log level of several log types that match a regular expression. Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
This commit is contained in:
parent
432050bfd0
commit
a5279180f5
@ -189,5 +189,6 @@ DPDK_17.05 {
|
||||
rte_log_dump;
|
||||
rte_log_register;
|
||||
rte_log_set_level;
|
||||
rte_log_set_level_regexp;
|
||||
|
||||
} DPDK_17.02;
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <regex.h>
|
||||
|
||||
#include <rte_eal.h>
|
||||
#include <rte_log.h>
|
||||
@ -132,6 +133,26 @@ rte_log_set_level(uint32_t type, uint32_t level)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* set level */
|
||||
int
|
||||
rte_log_set_level_regexp(const char *pattern, uint32_t level)
|
||||
{
|
||||
regex_t r;
|
||||
size_t i;
|
||||
|
||||
if (level > RTE_LOG_DEBUG)
|
||||
return -1;
|
||||
|
||||
for (i = 0; i < rte_logs.dynamic_types_len; i++) {
|
||||
if (rte_logs.dynamic_types[i].name == NULL)
|
||||
continue;
|
||||
if (regexec(&r, pattern, 0, NULL, 0) == 0)
|
||||
rte_logs.dynamic_types[i].loglevel = level;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* get the current loglevel for the message beeing processed */
|
||||
int rte_log_cur_msg_loglevel(void)
|
||||
{
|
||||
|
@ -155,6 +155,18 @@ void rte_set_log_type(uint32_t type, int enable);
|
||||
*/
|
||||
uint32_t rte_get_log_type(void);
|
||||
|
||||
/**
|
||||
* Set the log level for a given type.
|
||||
*
|
||||
* @param pattern
|
||||
* The regexp identifying the log type.
|
||||
* @param level
|
||||
* The level to be set.
|
||||
* @return
|
||||
* 0 on success, a negative value if level is invalid.
|
||||
*/
|
||||
int rte_log_set_level_regexp(const char *pattern, uint32_t level);
|
||||
|
||||
/**
|
||||
* Set the log level for a given type.
|
||||
*
|
||||
|
@ -194,5 +194,6 @@ DPDK_17.05 {
|
||||
rte_log_dump;
|
||||
rte_log_register;
|
||||
rte_log_set_level;
|
||||
rte_log_set_level_regexp;
|
||||
|
||||
} DPDK_17.02;
|
||||
|
Loading…
Reference in New Issue
Block a user