客户错误处理
本模块提供自定义日志记录、错误和警告处理功能,允许用户记录消息、清理日志文件以及向UI发送错误和警告信号。
日志管理
记录日志消息
- log_message(message, logger='default', include_timestamp=False)
Log a message to a user log file.
Log files are automatically named with timestamp: {logger}_{YYYYMMDD_HHMMSS}.log
- Parameters:
- Returns:
True if logging succeeded
- Return type:
Examples:
log_message("Task started") log_message("Processing item 1", "process_log", True)
清理日志文件
- clear_log(logger_name='', log_dir='/root/data/daystar_api/user_logs/')
Clear user log files.
This function works independently and doesn’t require initialization.
- Parameters:
- Returns:
Number of log files deleted
- Return type:
Examples:
# Delete all log files deleted = clear_log() print(f"Deleted {deleted} log files") # Delete only 'my_task' logs deleted = clear_log("my_task") print(f"Deleted {deleted} my_task log files")
错误和警告处理
触发错误信号
- raise_error(message, name='', code=0)
上报一个结构化错误信号到 /sdk/task/raise_error(供 UI 显示)。
注意:本底层函数仅推送 UI 通知并返回 response,不抛异常、不改变任务状态。 若需”上报并使任务失败退出”,请使用 Python 层一体化入口
daystar_api.errors.raise_error(message, name=..., code=..., fatal=True)。- Parameters:
- Returns:
- 响应
state: State 对象(code/describe)
response.success: bool,True 表示已被服务端接收
response.message: str,服务端回执
- Return type:
Examples:
resp = raise_error("传感器连接失败", name="SENSOR_CONN_FAILED", code=30001) if resp.response.success: print("已上报")
Note
服务:/sdk/task/raise_error(api_msgs/srv/RaiseError)
任务状态由脚本退出码决定,本函数不触发失败
触发警告信号
- raise_warn(message, name='', code=0)
上报一个结构化警告信号到 /sdk/task/raise_warn(供 UI 显示)。
- Parameters:
- Returns:
- 响应
state: State 对象(code/describe)
response.success: bool,True 表示已被服务端接收
response.message: str,服务端回执
- Return type:
Examples:
resp = raise_warn("电量偏低", name="BATTERY_LOW", code=90001) if resp.response.success: print("已上报")
Note
服务:/sdk/task/raise_warn(api_msgs/srv/RaiseWarn)
警告不影响任务状态