Rust Cookbook - 安全关键性编程指南
这是一份 Rust 编程语言的综合性实用手册,涵盖了从基础到高级的各种编程主题。
主要内容模块
该手册包含以下20个主要章节:
- 算法 - 随机值生成、向量排序
- 命令行 - 参数解析、ANSI终端
- 压缩 - Tarball文件处理
- 并发编程 - 显式线程、数据并行、Actor模式、自定义Future
- 密码学 - 哈希、加密
- 数据结构 - 位字段
- 数据库 - SQLite、Postgres
- 日期和时间 - 时间计算、解析和显示
- 开发工具 - 调试、日志记录、版本控制、构建工具
- 编码 - 字符集、CSV处理、结构化数据
- 错误处理 - 错误变体处理
- 文件系统 - 读写、目录遍历
- 硬件支持 - 处理器
- 内存管理 - 全局静态变量
- 网络 - 服务器
- 操作系统 - 外部命令
- 科学计算 - 线性代数、三角函数、复数、统计学
- 安全关键性Rust - 无panic保证、确定性内存
- 文本处理 - 正则表达式、字符串解析
- Web编程 - 链接提取、URL处理、HTTP客户端、Web API调用
核心重点:安全关键性编程
文档特别强调了安全关键性Rust编程,包括:
- 编译时无panic保证 - 确保程序运行不会崩溃
- 确定性内存管理 - 使用Heapless集合实现可预测的内存使用
https://rust-lang-nursery.github.io/rust-cookbook/safety_critical.html
Rust 追踪调试(Tracing)
什么是 Tracing
- tracing 是一个用于 Rust 程序插桩的框架,用于收集结构化、基于事件的诊断信息
- 它是旧版 log crate 的替代方案,并具有向后兼容的适配器
安装依赖
在项目中添加以下 crate:
cargo add tracing tracing-subscriber
- 对于库项目,通常不需要
tracing-subscriber
将日志消息输出到控制台
基本用法
- tracing crate 提供宏来发出日志事件
- tracing-subscriber crate 配置事件的发送位置
- 调用
tracing_subscriber::fmt::init()安装默认追踪订阅器
日志级别(从高到低)
error!()- 错误warn!()- 警告info!()- 信息(默认级别)debug!()- 调试trace!()- 追踪
关键特点
- 默认日志级别:INFO(会丢弃更低级别的事件)
- 默认配置下,
debug!和trace!消息不会显示 - 可通过设置 RUST_LOG 环境变量来配置更详细的日志级别:
RUST_LOG=trace cargo run
输出格式
日志输出包含时间戳、级别、模块名和消息内容,例如:
2024-12-01T07:56:14.778440Z ERROR tracing_console: This is an error!
https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/tracing.html
--
From 日报小组 Mike
社区学习交流平台订阅:
1
共 0 条评论, 1 页
评论区
写评论还没有评论