ev-spdlog-unordered-map-registry-001¶
| 字段 | 值 |
|---|---|
| 项目 | gabime/spdlog |
| 固定 commit | 79524ddd08a4 |
| 路径 | include/spdlog/details/registry.h |
| 行段 | L111-L113 |
| 特性 | std::unordered_map |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-11-03 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
用 unordered_map 按名称索引 logger,平均常数时间查找且不要求键有序
为什么典型¶
注册表只关心按名字取回 logger,不需要有序遍历;哈希表让每次日志查找保持均摊 O(1),键值语义清晰。
摘录¶
std::mutex logger_map_mutex_, flusher_mutex_;
std::recursive_mutex tp_mutex_;
std::unordered_map<std::string, std::shared_ptr<logger>> loggers_;
备注¶
生产路径;注册表以 logger 名称为键,unordered_map 是名称到对象映射的标准选择。