Files
XCEngine/docs/api/XCEngine/Debug/Logger/AddSink.md

943 B

Logger::AddSink

把一个日志输出目标注册到全局 Logger

void AddSink(std::unique_ptr<ILogSink> sink);

行为说明

当前实现会在互斥区内把 sink 移入内部 std::vector<std::unique_ptr<ILogSink>>。注册后:

  • Logger 接管对象生命周期。
  • 之后的每次 Log 都会把日志分发给该 sink。
  • 不会因为未初始化而失败;AddSink 本身不依赖 Initialize

参数

  • sink - 新的日志输出目标,所有权会转移给 Logger

返回值

  • 无。

线程语义

  • 当前实现对 sink 列表写入加锁。

示例

using namespace XCEngine::Debug;

Logger::Get().Initialize();
Logger::Get().AddSink(std::make_unique<ConsoleLogSink>());
Logger::Get().AddSink(std::make_unique<FileLogSink>("engine.log"));

相关文档