SuperAPI AI 工具集

rust-tracing-practices

编程与开发

查看项目

更新于 10-16 05:50

技能介绍

用途:为 Rust 代码添加追踪与埋点,规范事件记录和函数插桩,便于观测、过滤与自动化处理。

事件记录:按可见性使用对应级别的宏 info!、debug!、trace!、warn!、error!;以命名参数提供结构化数据,便于自动化处理和过滤;日志消息格式统一,以现在时动词开头;通过键值对补充相关上下文,例如 tracing::info!(user_id = user.id, action = "login", "User logged in successfully") 和 tracing::error!(error = %e, user_id = user.id, "Failed to authenticate user")。

函数插桩:对函数应用 #[tracing::instrument] 属性以自动创建追踪 span;包含 err 参数以在 span 中捕获错误返回;使用 skip(password) 或 skip_all 排除敏感或体积较大的参数;用 fields(request_id = req.id()) 添加自定义上下文字段。示例:#[tracing::instrument(level = "debug", err, skip(password), fields(user_id = user.id))] async fn authenticate_user(user: &User, password: &[u8]) -> Result<AuthToken, AuthError>。

适用场景:需要在 Rust 服务中补充 span、事件与结构化日志时使用。限制及其他信息暂未提供。