开发者
下载

acllogRegisterCallback

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

函数功能

用于注册设备plog日志回调函数。注册成功后,设备侧上报的plog日志在原有落盘流程前触发回调。

支持注册多个回调函数,最多支持16个。回调函数的返回值会被忽略,不影响plog原有落盘流程,也不影响其他已注册回调函数执行。

该接口仅对设备plog report上报链路生效,不覆盖普通Host侧AlogRecord/DlogRecord日志。

函数原型

1
int32_t acllogRegisterCallback(acllogRecordCallback callbackFunc, void *userData, uint32_t outputLogType, acllogCallbackHandle *callbackHandle)

参数说明

参数

输入/输出

说明

callbackFunc

输入

回调函数,类型请参见数据类型定义。不允许传入NULL。

userData

输入

用户自定义数据。该数据会在触发回调时通过回调函数的userData参数传回。允许传入NULL。

outputLogType

输入

回调接收的日志输出类型,枚举值请参见数据类型定义

callbackHandle

输出

注册成功后返回的回调句柄,用于取消注册。不允许传入NULL。

返回值

返回回调注册结果。

0:注册成功

-1:注册失败。失败场景包括callbackFunc为NULL、callbackHandle为NULL、outputLogType非法、已注册回调函数数量达到16个。

调用示例

static int32_t LogCallback(void *userData, uint32_t outputLogType, const char *logContent, size_t length)
{
    (void)userData;
    (void)outputLogType;
    printf("%.*s", (int)length, logContent);
    return 0;
}

acllogCallbackHandle handle = 0;
int32_t ret = acllogRegisterCallback(LogCallback, NULL, OUTPUT_TYPE_BOTH, &handle);