DlogRecord
函数原型
void DlogRecord(int moduleId, int level, const char *fmt, ...);
函数功能
打印日志。
参数说明
参数 |
输入/输出 |
说明 |
|---|---|---|
module_id |
输入 |
模块枚举值 | 日志类型枚举值 模块枚举值: enum {
SLOG, /**< Slog */
IDEDD, /**< IDE daemon device */
IDEDH, /**< IDE daemon host */
HCCL, /**< HCCL */
FMK, /**< Adapter */
HIAIENGINE, /**< Matrix */
DVPP, /**< DVPP */
RUNTIME, /**< Runtime */
CCE, /**< CCE */
HDC, /**< HDC */
DRV, /**< Driver */
MDCFUSION, /**< Mdc fusion */
MDCLOCATION, /**< Mdc location */
MDCPERCEPTION, /**< Mdc perception */
MDCFSM,
MDCCOMMON,
MDCMONITOR,
MDCBSWP, /**< MDC base software platform */
MDCDEFAULT, /**< MDC undefine */
MDCSC, /**< MDC spatial cognition */
MDCPNC,
MLL, /**< abandon */
DEVMM, /**< Dlog memory managent */
KERNEL, /**< Kernel */
LIBMEDIA, /**< Libmedia */
CCECPU, /**< aicpu shedule */
ASCENDDK, /**< AscendDK */
ROS, /**< ROS */
HCCP,
ROCE,
TEFUSION,
PROFILING, /**< Profiling */
DP, /**< Data Preprocess */
APP, /**< User Application */
TS, /**< TS module */
TSDUMP, /**< TSDUMP module */
AICPU, /**< AICPU module */
LP, /**< LP module */
TDT, /**< tsdaemon or aicpu shedule */
FE,
MD,
MB,
ME,
IMU,
IMP,
GE, /**< Fmk */
MDCFUSA,
CAMERA,
ASCENDCL,
TEEOS,
ISP,
SIS,
HSM,
DSS,
PROCMGR, // Process Manager, Base Platform
BBOX,
AIVECTOR,
TBE,
FV,
MDCMAP,
TUNE,
HSS, /**< helper */
FFTS,
OP,
UDF,
HICAID,
TSYNC,
AUDIO,
TPRT,
ASCENDCKERNEL,
ASYS,
ATRACE,
RTC,
INVLID_MOUDLE_ID // add new module before INVLID_MOUDLE_ID
}; 日志类型枚举值: #define DEBUG_LOG_MASK (0x00010000U) // print log to directory debug #define SECURITY_LOG_MASK (0x00100000U) // print log to directory security #define RUN_LOG_MASK (0x01000000U) // print log to directory run #define STDOUT_LOG_MASK (0x10000000U) // print log to stdout 注:
|
level |
输入 |
本条日志级别,枚举值如下: #define DLOG_DEBUG 0x0 // debug level id #define DLOG_INFO 0x1 // info level id #define DLOG_WARN 0x2 // warning level id #define DLOG_ERROR 0x3 // error level id #define DLOG_NULL 0x4 // don't print log #define DLOG_EVENT 0x10 // event log print level id |
fmt |
输入 |
待打印的内容。
|
返回值
无。
调用示例
char *msg= "hello"; DlogRecord(KERNEL | DEBUG_LOG_MASK, DLOG_INFO, "message is %s", msg);
宏定义及调用示例
头文件中还提供了相关宏,封装了DlogRecord供用户选择使用。
- dlog_error
//宏定义 #define dlog_error(moduleId, fmt, ...) \ do { \ DlogRecord(moduleId, DLOG_ERROR, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; dlog_error(KERNEL | DEBUG_LOG_MASK, "message is %s", msg); - dlog_warn
//宏定义 #define dlog_warn(moduleId, fmt, ...) \ do { \ if (CheckLogLevel(moduleId, DLOG_WARN) == 1) { \ DlogRecord(moduleId, DLOG_WARN, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ } \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; dlog_warn(KERNEL | DEBUG_LOG_MASK, "message is %s", msg); - dlog_info
//宏定义 #define dlog_info(moduleId, fmt, ...) \ do { \ if (CheckLogLevel(moduleId, DLOG_INFO) == 1) { \ DlogRecord(moduleId, DLOG_INFO, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ } \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; dlog_info(KERNEL | DEBUG_LOG_MASK, "message is %s", msg); - dlog_debug
//宏定义 #define dlog_debug(moduleId, fmt, ...) \ do { \ if (CheckLogLevel(moduleId, DLOG_DEBUG) == 1) { \ DlogRecord(moduleId, DLOG_DEBUG, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ } \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; dlog_debug(KERNEL | DEBUG_LOG_MASK, "message is %s", msg); - dlog_event
//宏定义 #define dlog_event(moduleId, fmt, ...) \ do { \ DlogRecord(moduleId, DLOG_EVENT, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; dlog_event(KERNEL, "message is %s", msg); - Dlog
//宏定义 #define Dlog(moduleId, level, fmt, ...) \ do { \ if (CheckLogLevel(moduleId, level) == 1) { \ DlogRecord(moduleId, level, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ } \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; Dlog(KERNEL | DEBUG_LOG_MASK, DLOG_INFO, "message is %s", msg); - DlogSub
//宏定义 #define DlogSub(moduleId, submodule, level, fmt, ...) \ do { \ if (CheckLogLevel(moduleId, level) == 1) { \ DlogRecord(moduleId, level, "[%s:%d][%s]" fmt, __FILE__, __LINE__, submodule, ##__VA_ARGS__); \ } \ } while (TMP_LOG != 0) //调用示例 char *msg= "hello"; DlogSub(KERNEL | DEBUG_LOG_MASK, "drv_log", DLOG_INFO, "message is %s", msg);
父主题: 接口参考