
# 23. 日志接口【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述日志接口用于记录模块产生的日志并校验调测日志级别。使用须知void AlogRecord(uint32_t moduleId, uint32_t logType, int32_t level, const char *fmt, ...)用于记录各模块产生的日志。int32_t AlogCheckDebugLevel(uint32_t moduleId, int32_t level)用于校验调测日志级别。数据类型定义日志级别、日志类型和模块ID等数据类型定义。使用须知该部分接口仅在定制开发CANN组件场景下使用。本文介绍这部分接口的功能、参数等仅为了便于您了解这部分接口在CANN开放代码中的作用进而更好地使用或修改CANN开放代码。涉及的日志接口头文件和库文件路径include的头文件所在路径${INSTALL_DIR}/include/base/alog_pub.h该头文件中已包含log_types.h依赖的库文件路径${INSTALL_DIR}/lib64/libascendalog.so${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。以root用户安装为例安装后文件默认存储路径为/usr/local/Ascend/cann。AlogRecordvoid AlogRecord(uint32_t moduleId, uint32_t logType, int32_t level, const char *fmt, ...)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√函数功能须知该接口将在后续版本中废弃不建议用户使用以防止引发兼容性问题。用于记录各模块产生的日志。参数说明参数输入/输出说明moduleId输入模块ID枚举值请参见数据类型定义。logType输入本条日志类型枚举值请参见数据类型定义。传入其他值视作调试日志。level输入本条日志级别宏定义请参见数据类型定义。说明 运行日志不会记录debug级别日志DLOG_TYPE_RUN和DLOG_DEBUG不可组合使用。fmt输入待打印的内容。- 接口不校验内容合法性。- 单条日志最大长度为1024字节超出则会截断。返回值无。调用示例AlogRecord(SLOG, DLOG_TYPE_RUN, DLOG_INFO, test run log);AlogCheckDebugLevelint32_t AlogCheckDebugLevel(uint32_t moduleId, int32_t level)产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√函数功能须知该接口将在后续版本中废弃不建议用户使用以防止引发兼容性问题。用于校验调测日志级别。参数说明参数输入/输出说明moduleId输入模块ID枚举值请参见数据类型定义。level输入日志级别宏定义请参见数据类型定义。返回值返回调测日志级别校验结果。1级别校验通过0级别校验不通过调用示例if(AlogCheckDebugLevel(SLOG, DLOG_INFO) 1) { AlogRecord(SLOG, DLOG_TYPE_DEBUG, DLOG_INFO, test debug log); }数据类型定义日志级别宏定义#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日志类型枚举enum { DLOG_TYPE_DEBUG 0, // 调试日志 DLOG_TYPE_RUN 1, // 运行日志 DLOG_TYPE_MAX // 无效值 };module id 枚举enum { SLOG 0, /* Slog module */ IDEDD 1, /* IDE daemon device */ HCCL 3, /* HCCL */ FMK 4, /* Adapter */ DVPP 6, /* DVPP */ RUNTIME 7, /* Runtime */ CCE 8, /* CCE */ HDC 9, /* HDC */ DRV 10, /* Driver */ DEVMM 22, /* Dlog memory management */ KERNEL 23, /* Kernel */ LIBMEDIA 24, /* Libmedia */ CCECPU 25, /* aicpu schedule */ ROS 27, /* ROS */ HCCP 28, ROCE 29, TEFUSION 30, PROFILING 31, DP 32, /* Data Preprocess */ APP 33, /* User Application */ TS 34, /* Task Schedule */ TSDUMP 35, AICPU 36, LP 37, /* Low Power */ TDT 38, /* tsdaemon or aicpu schedule */ FE 39, MD 40, MB 41, ME 42, IMU 43, IMP 44, GE 45, /* Fmk */ CAMERA 47, ASCENDCL 48, TEEOS 49, ISP 50, SIS 51, HSM 52, DSS 53, PROCMGR 54, /* Process Manager, Base Platform */ BBOX 55, AIVECTOR 56, TBE 57, FV 58, TUNE 60, HSS 61, /* helper */ FFTS 62, OP 63, UDF 64, HICAID 65, TSYNC 66, AUDIO 67, TPRT 68, ASCENDCKERNEL 69, ASYS 70, ATRACE 71, RTC 72, SYSMONITOR 73, AML 74, ADETECT 75, INVLID_MOUDLE_ID 76 /* add new module before INVLID_MOUDLE_ID */ };【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考