DPDK
16.04.0
|
#include <stdint.h>
#include <stdio.h>
#include <stdarg.h>
Go to the source code of this file.
Data Structures | |
struct | rte_logs |
Macros | |
#define | RTE_LOGTYPE_EAL 0x00000001 |
#define | RTE_LOGTYPE_MALLOC 0x00000002 |
#define | RTE_LOGTYPE_RING 0x00000004 |
#define | RTE_LOGTYPE_MEMPOOL 0x00000008 |
#define | RTE_LOGTYPE_TIMER 0x00000010 |
#define | RTE_LOGTYPE_PMD 0x00000020 |
#define | RTE_LOGTYPE_HASH 0x00000040 |
#define | RTE_LOGTYPE_LPM 0x00000080 |
#define | RTE_LOGTYPE_KNI 0x00000100 |
#define | RTE_LOGTYPE_ACL 0x00000200 |
#define | RTE_LOGTYPE_POWER 0x00000400 |
#define | RTE_LOGTYPE_METER 0x00000800 |
#define | RTE_LOGTYPE_SCHED 0x00001000 |
#define | RTE_LOGTYPE_PORT 0x00002000 |
#define | RTE_LOGTYPE_TABLE 0x00004000 |
#define | RTE_LOGTYPE_PIPELINE 0x00008000 |
#define | RTE_LOGTYPE_MBUF 0x00010000 |
#define | RTE_LOGTYPE_CRYPTODEV 0x00020000 |
#define | RTE_LOGTYPE_USER1 0x01000000 |
#define | RTE_LOGTYPE_USER2 0x02000000 |
#define | RTE_LOGTYPE_USER3 0x04000000 |
#define | RTE_LOGTYPE_USER4 0x08000000 |
#define | RTE_LOGTYPE_USER5 0x10000000 |
#define | RTE_LOGTYPE_USER6 0x20000000 |
#define | RTE_LOGTYPE_USER7 0x40000000 |
#define | RTE_LOGTYPE_USER8 0x80000000 |
#define | RTE_LOG_EMERG 1U |
#define | RTE_LOG_ALERT 2U |
#define | RTE_LOG_CRIT 3U |
#define | RTE_LOG_ERR 4U |
#define | RTE_LOG_WARNING 5U |
#define | RTE_LOG_NOTICE 6U |
#define | RTE_LOG_INFO 7U |
#define | RTE_LOG_DEBUG 8U |
#define | RTE_LOG(l, t,...) |
Functions | |
int | rte_openlog_stream (FILE *f) |
void | rte_set_log_level (uint32_t level) |
uint32_t | rte_get_log_level (void) |
void | rte_set_log_type (uint32_t type, int enable) |
uint32_t | rte_get_log_type (void) |
int | rte_log_cur_msg_loglevel (void) |
int | rte_log_cur_msg_logtype (void) |
void | rte_log_set_history (int enable) |
void | rte_log_dump_history (FILE *f) |
int | rte_log_add_in_history (const char *buf, size_t size) |
int | rte_log (uint32_t level, uint32_t logtype, const char *format,...) |
int | rte_vlog (uint32_t level, uint32_t logtype, const char *format, va_list ap) |
Variables | |
struct rte_logs | rte_logs |
FILE * | eal_default_log_stream |
#define RTE_LOGTYPE_MALLOC 0x00000002 |
#define RTE_LOGTYPE_MEMPOOL 0x00000008 |
#define RTE_LOGTYPE_TIMER 0x00000010 |
#define RTE_LOGTYPE_PMD 0x00000020 |
#define RTE_LOGTYPE_HASH 0x00000040 |
#define RTE_LOGTYPE_METER 0x00000800 |
#define RTE_LOGTYPE_SCHED 0x00001000 |
#define RTE_LOGTYPE_PIPELINE 0x00008000 |
#define RTE_LOGTYPE_CRYPTODEV 0x00020000 |
#define RTE_LOGTYPE_USER1 0x01000000 |
#define RTE_LOGTYPE_USER2 0x02000000 |
#define RTE_LOGTYPE_USER3 0x04000000 |
#define RTE_LOGTYPE_USER4 0x08000000 |
#define RTE_LOGTYPE_USER5 0x10000000 |
#define RTE_LOGTYPE_USER6 0x20000000 |
#define RTE_LOGTYPE_USER7 0x40000000 |
#define RTE_LOGTYPE_USER8 0x80000000 |
#define RTE_LOG_NOTICE 6U |
#define RTE_LOG_INFO 7U |
Informational.
#define RTE_LOG | ( | l, | |
t, | |||
... | |||
) |
Generates a log message.
The RTE_LOG() is equivalent to rte_log() with two differences:
l | Log level. A value between EMERG (1) and DEBUG (8). The short name is expanded by the macro, so it cannot be an integer value. |
t | The log type, for example, EAL. The short name is expanded by the macro, so it cannot be an integer value. |
... | The fmt string, as in printf(3), followed by the variable arguments required by the format. |
int rte_openlog_stream | ( | FILE * | f | ) |
Change the stream that will be used by the logging system.
This can be done at any time. The f argument represents the stream to be used to send the logs. If f is NULL, the default output is used (stderr).
f | Pointer to the stream. |
void rte_set_log_level | ( | uint32_t | level | ) |
Set the global log level.
After this call, all logs that are lower or equal than level and lower or equal than the RTE_LOG_LEVEL configuration option will be displayed.
level | Log level. A value between RTE_LOG_EMERG (1) and RTE_LOG_DEBUG (8). |
uint32_t rte_get_log_level | ( | void | ) |
Get the global log level.
void rte_set_log_type | ( | uint32_t | type, |
int | enable | ||
) |
Enable or disable the log type.
type | Log type, for example, RTE_LOGTYPE_EAL. |
enable | True for enable; false for disable. |
uint32_t rte_get_log_type | ( | void | ) |
Get the global log type.
int rte_log_cur_msg_loglevel | ( | void | ) |
Get the current loglevel for the message being processed.
Before calling the user-defined stream for logging, the log subsystem sets a per-lcore variable containing the loglevel and the logtype of the message being processed. This information can be accessed by the user-defined log output function through this function.
int rte_log_cur_msg_logtype | ( | void | ) |
Get the current logtype for the message being processed.
Before calling the user-defined stream for logging, the log subsystem sets a per-lcore variable containing the loglevel and the logtype of the message being processed. This information can be accessed by the user-defined log output function through this function.
void rte_log_set_history | ( | int | enable | ) |
Enable or disable the history (enabled by default)
enable | true to enable, or 0 to disable history. |
void rte_log_dump_history | ( | FILE * | f | ) |
Dump the log history to a file
f | A pointer to a file for output |
int rte_log_add_in_history | ( | const char * | buf, |
size_t | size | ||
) |
Add a log message to the history.
This function can be called from a user-defined log stream. It adds the given message in the history that can be dumped using rte_log_dump_history().
buf | A data buffer containing the message to be saved in the history. |
size | The length of the data buffer. |
int rte_log | ( | uint32_t | level, |
uint32_t | logtype, | ||
const char * | format, | ||
... | |||
) |
Generates a log message.
The message will be sent in the stream defined by the previous call to rte_openlog_stream().
The level argument determines if the log should be displayed or not, depending on the global rte_logs variable.
The preferred alternative is the RTE_LOG() function because debug logs may be removed at compilation time if optimization is enabled. Moreover, logs are automatically prefixed by type when using the macro.
level | Log level. A value between RTE_LOG_EMERG (1) and RTE_LOG_DEBUG (8). |
logtype | The log type, for example, RTE_LOGTYPE_EAL. |
format | The format string, as in printf(3), followed by the variable arguments required by the format. |
int rte_vlog | ( | uint32_t | level, |
uint32_t | logtype, | ||
const char * | format, | ||
va_list | ap | ||
) |
Generates a log message.
The message will be sent in the stream defined by the previous call to rte_openlog_stream().
The level argument determines if the log should be displayed or not, depending on the global rte_logs variable. A trailing newline may be added if needed.
The preferred alternative is the RTE_LOG() because debug logs may be removed at compilation time.
level | Log level. A value between RTE_LOG_EMERG (1) and RTE_LOG_DEBUG (8). |
logtype | The log type, for example, RTE_LOGTYPE_EAL. |
format | The format string, as in printf(3), followed by the variable arguments required by the format. |
ap | The va_list of the variable arguments required by the format. |
FILE* eal_default_log_stream |
The default log stream.