跳转至

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 别名。

查看固定 commit 源码 · 返回证据索引