# Logger::AddSink 把一个日志输出目标注册到全局 `Logger`。 ```cpp void AddSink(std::unique_ptr sink); ``` ## 行为说明 当前实现会在互斥区内把 `sink` 移入内部 `std::vector>`。注册后: - `Logger` 接管对象生命周期。 - 之后的每次 `Log` 都会把日志分发给该 sink。 - 不会因为未初始化而失败;`AddSink` 本身不依赖 `Initialize`。 ## 参数 - `sink` - 新的日志输出目标,所有权会转移给 `Logger`。 ## 返回值 - 无。 ## 线程语义 - 当前实现对 sink 列表写入加锁。 ## 示例 ```cpp using namespace XCEngine::Debug; Logger::Get().Initialize(); Logger::Get().AddSink(std::make_unique()); Logger::Get().AddSink(std::make_unique("engine.log")); ``` ## 相关文档 - [返回类型总览](Logger.md) - [RemoveSink](RemoveSink.md) - [ILogSink](../ILogSink/ILogSink.md)