Rust项目落地:错误处理、日志与配置管理
📚 共计 30 章节
01
错误处理哲学
Rust为何没有异常?Result与Option的设计理念。
理念
核心
02
Result类型详解
Ok与Err变体,unwrap与expect的陷阱。
基础
陷阱
03
Option类型详解
Some与None,从空值恐慌到安全模式。
安全
模式
04
模式匹配与错误处理
match、if let、while let的优雅用法。
模式
优雅
05
组合器(Combinator)
map、and_then、or_else、unwrap_or的链式调用。
链式
函数式
06
?运算符
传播错误的语法糖,从手动match到一行代码。
语法糖
简洁
07
自定义错误类型
实现std::error::Error trait,构建领域错误。
trait
领域
08
thiserror库
用派生宏简化自定义错误,告别样板代码。
宏
简化
09
anyhow库
动态错误处理,适合应用层快速开发。
动态
快速
10
错误处理策略
何时用anyhow,何时用thiserror,何时裸写。
策略
对比
11
日志门面:log crate
日志级别(trace到error)的使用场景。
门面
级别
12
env_logger
快速配置,环境变量控制日志输出。
环境
快速
13
log4rs
高级配置,文件滚动、多Appender、JSON格式。
高级
滚动
14
tracing框架
Span与Event,结构化日志与分布式追踪。
追踪
结构化
15
tracing-subscriber
自定义订阅者,日志与指标收集。
订阅
指标
16
日志最佳实践
敏感信息脱敏、日志采样、异步日志性能。
实践
性能
17
配置管理基础
环境变量、命令行参数、配置文件三件套。
基础
三件套
18
dotenv库
加载.env文件,管理开发环境配置。
环境
.env
19
clap库
命令行参数解析,子命令与参数校验。
CLI
校验
20
config库
统一配置源,支持TOML/YAML/JSON/环境变量。
统一
多格式
21
serde与配置反序列化
类型安全、默认值、嵌套结构。
serde
类型
22
配置分层
默认配置、环境配置、本地覆盖的合并策略。
分层
合并
23
配置热重载
监听文件变化,运行时更新配置。
热重载
运行时
24
综合项目一:CLI工具
构建CLI工具,集成错误处理与日志。
项目
CLI
25
综合项目二:Web服务配置
从环境变量到配置文件。
项目
Web
26
综合项目三:微服务配置中心
远程配置与本地缓存。
项目
微服务
27
测试中的错误处理
模拟错误场景,测试错误路径。
测试
模拟
28
生产环境监控
错误报告、日志聚合、告警集成。
监控
告警
29
性能优化
错误分配开销、日志I/O瓶颈、配置读取缓存。
优化
缓存
30
课程总结
Rust错误处理、日志与配置管理的完整落地蓝图。
总结
蓝图