dpdk 调试(log)小结(终端打印或是输出到文件)
2017-10-20 10:32
1671 查看
1、日志等级
/* Can't use 0, as it gives compiler warnings */
#define RTE_LOG_EMERG 1U /**< System is unusable. */
#define RTE_LOG_ALERT 2U /**< Action must be taken immediately. */
#define RTE_LOG_CRIT 3U /**< Critical conditions. */
#define RTE_LOG_ERR 4U /**< Error conditions. */
#define RTE_LOG_WARNING 5U /**< Warning conditions. */
#define RTE_LOG_NOTICE 6U /**< Normal but significant condition. */
#define RTE_LOG_INFO 7U /**< Informational. */
#define RTE_LOG_DEBUG 8U /**< Debug-level messages. */
2、设置日志等级函数
rte_set_log_level();
eg:rte_set_log_level(RTE_LOG_DEBUG ); 设置调试日志,默认直接打印在终端上
在dpdk库里,rte_set_log_level()在rte_eal_init()里调用
3、日志输出到文件
rte_openlog_stream(fd);
注意fd是文件描述符,得自己使用fopen(log_file, "a+")创建
4、dpdk函数库运行参数
log-level [数字]
eg: ./build/l2fwd -c 3 -n 4 --log-level 8
5、注意事项
在有的使用dpdk库的开源程序里,比如dvps, 在dvps.conf文件里
global_defs {
log_level WARNING
! log_file /var/log/dpvs.log
}
设置了日志等级,你在运行时使用--log-level 8可能不会生效,原因是dvps代码在执行rte_eal_init()函数后调用了rte_set_log_level,日志等级肯定是以最后调用的为准了
/* Can't use 0, as it gives compiler warnings */
#define RTE_LOG_EMERG 1U /**< System is unusable. */
#define RTE_LOG_ALERT 2U /**< Action must be taken immediately. */
#define RTE_LOG_CRIT 3U /**< Critical conditions. */
#define RTE_LOG_ERR 4U /**< Error conditions. */
#define RTE_LOG_WARNING 5U /**< Warning conditions. */
#define RTE_LOG_NOTICE 6U /**< Normal but significant condition. */
#define RTE_LOG_INFO 7U /**< Informational. */
#define RTE_LOG_DEBUG 8U /**< Debug-level messages. */
2、设置日志等级函数
rte_set_log_level();
eg:rte_set_log_level(RTE_LOG_DEBUG ); 设置调试日志,默认直接打印在终端上
在dpdk库里,rte_set_log_level()在rte_eal_init()里调用
3、日志输出到文件
rte_openlog_stream(fd);
注意fd是文件描述符,得自己使用fopen(log_file, "a+")创建
4、dpdk函数库运行参数
log-level [数字]
eg: ./build/l2fwd -c 3 -n 4 --log-level 8
5、注意事项
在有的使用dpdk库的开源程序里,比如dvps, 在dvps.conf文件里
global_defs {
log_level WARNING
! log_file /var/log/dpvs.log
}
设置了日志等级,你在运行时使用--log-level 8可能不会生效,原因是dvps代码在执行rte_eal_init()函数后调用了rte_set_log_level,日志等级肯定是以最后调用的为准了
相关文章推荐
- 1.编写一个简单的C语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 2.编写一个C语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤)。所谓“
- 1.编写一个简单的C语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 2.编写一个C语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤)。所谓“
- android调试输出log打印信息到本地文件
- iOS调试技巧之打印输出 -----A: (NSString *)description B:自定义LOG C:使用第三方插件快速打印
- android studio 使用mates真机进行调试,在logcat中无法打印出代码中有Log.d输出的log
- linux 实现输出重定向(printf 打印,输出到指定文件(不输出到终端))
- 记录终端输出的LOG到文件
- 将调试信息同时输出到终端和文件_暨_多参数函数封装
- 展讯平台调试之文件输出LOG
- Android 输出C文件打印的log信息
- eclipse- log 打印跟输出到文件
- c++ 打印简单log信息,输出内容到某一文件中
- Android ndk jni log 输出 打印 调试
- opencore播放wav格式的文件的打印信息输出log
- c++ 打印简单log信息,输出内容到某一文件中
- 工具类——Log日志打印,输出到文件,过滤显示日志位置
- linux 终端打印内容输出到文件
- 代码中创建新终端 以及的把新终端的输出打印到文件,用于调式。
- Mybatis 利用log4j打印输出log
- C++打印日志输出文件