核心目标
将配置数据转换为 spdlog sink 实例,同时屏蔽底层实现细节。
设计原则
| 目标 | 说明 |
|---|---|
| 抽象创建逻辑 | 调用者(Logger)只关心传入配置,不关心 std::make_shared<...> 的具体模板参数 |
| 隔离依赖 | 防止 Logger.cpp 直接 include UI 层(如 DebugOverlay)或文件系统特定头文件 |
| 统一错误处理 | 创建失败时统一捕获异常,返回空指针或默认 Sink,保证初始化不崩溃 |
| 支持扩展 | 新增 Sink(如网络日志、ETW)只需在工厂中增加分支,无需修改 Logger 核心代码 |
2026年4月22日大约 2 分钟
