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);
父主题: 接口参考