本文谢绝转载,如有需要,请以链接的方式引用。
注:本文中的代码为git库中的dpdk-2.0.0-rc1,对应Linux平台。
1 log简介
dpdk中通过log系统记录相关的日志信息,每一条日志除日志内容外,还有两个附加信息,log级别和log类型。开发人员可根据级别和类型对日志信息进行过滤,只记录
必要的日志。
1.1 log级别
根据日志信息的优先级高低,dpdk将日志信息分为8个级别,其中RTE_LOG_DEBUG的值为8,这是日志的最高级别,也就是说记录的日志信息最多;相应的,RTE_LOG_EMERG为日志的最低级别,只记录严重的错误信息。dpdk在运行时只有一个log级别,代码中每一条日志都有其固定的log级别,只有代码的log级别小于等于当前系统的log级别时
,才有可能记录该条日志(还要参考log类型)。
log级别的相关宏在“./lib/librte_eal/common/include/rte_log.h”中定义:
91 /* Can't use 0, as it gives compiler warnings */
92 #define RTE_LOG_EMERG 1U /**< System is unusable. */
93 #define RTE_LOG_ALERT 2U /**< Action must be taken immediately. */
94 #define RTE_LOG_CRIT 3U /**< Critical conditions. */
95 #define