ev-abseil-source-location-stream-003¶
| 字段 | 值 |
|---|---|
| 项目 | abseil/abseil-cpp |
| 固定 commit | 2065f4ded055 |
| 路径 | absl/log/internal/log_message.h |
| 行段 | L182-L187 |
| 特性 | std::source_location |
| 许可证 | Apache-2.0 |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-26 |
| 测试代码 | 否 |
| 发现方式 | regex |
用法¶
日志消息重载接收 SourceLocation 并输出文件与行号
为什么典型¶
日志接口需要把调用位置作为一等参数;位置类型可用时由类型系统传递,调用方不必展开 FILE/LINE 宏。
摘录¶
// Overload for absl::SourceLocation or the std::source_location alias.
LogMessage& operator<<(const absl::SourceLocation& loc) {
OstreamView view(*data_);
view.stream() << loc.file_name() << ':' << loc.line();
return *this;
}
备注¶
生产日志路径;源码注释说明该重载同时服务 absl::SourceLocation 与 std::source_location 别名。