CANN/GE UDF日志接口指南
2026/9/10 3:49:03 网站建设 项目流程

# UDF日志接口简介

UDF Python开放了日志记录接口,使用时导入flow_func模块。使用其中定义的logger对象,调用logger对象封装的不同级别的日志接口。

表1日志分类

日志类型使用场景日志级别对应的日志宏
运行日志系统运行过程中的异常状态、异常动作、系统进程运行过程中的关键事件和系统资源占用的相关信息等需要记录运行日志。ERROR/INFO运行日志Error级别日志宏/运行日志Info级别日志宏
调试日志以下场景(包括但不限于这些场景)需要记录为调试级别的日志:
- 接口调用、函数调用等所有调用的入口、出口
- 操作入口处和设置预置条件
- 定时器启动、超时
- 状态设置、状态迁移条件判断前后
- 业务相关资源统计、业务处理出入口、性能计算统计
- 所有处理失败、异常等
调试级别日志记录的是代码级的信息,用于开发人员定位问题。
ERROR/WARN/INFO/DEBUG调试日志Error级别日志宏/调试日志Warn级别日志宏/调试日志Error级别日志宏/调试日志Debug级别日志宏

日志使用样例:

import dataflow.flow_func as ff ff.logger.info("This is a test info log :%s %d %f.", "test_str", 100, 0.1)

日志级别修改请参考《环境变量参考》中ASCEND_GLOBAL_LOG_LEVEL及ASCEND_MODULE_LOG_LEVEL的使用,用户UDF日志对应的模块为APP,可以根据模块单独控制APP日志级别。

例如:用户想开启自定义UDF的Info级别日志,可以使用下面命令单独打开APP模块的info级别日志

export ASCEND_MODULE_LOG_LEVEL=APP=1

也可以使用下方命令打开所有模块的info级别日志

export ASCEND_GLOBAL_LOG_LEVEL=1

UDF执行过程中,会对APP模块日志进行流控,以防止过多太多影响框架日志以及执行性能,限制规则如下:

表2限制规则

接口类型调试日志调试日志调试日志调试日志运行日志运行日志
级别debuginfowarnerrorrun_inforun_error
DEBUG不限流不限流不限流不限流50/40050/400
INFO不打印100/1000100/1000100/100050/40050/400
WARN不打印不打印50/40050/40050/40050/400
ERROR不打印不打印不打印50/40050/40050/400

[!NOTE]说明 每个独立进程A条/秒,累积上限B,上表中显示为[A/B],累积上限是指一段时间进程不打印日志后,最多瞬时可输出的日志。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询