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

872 B

Logger::RemoveSink

按原始指针移除一个已注册的 sink。

void RemoveSink(ILogSink* sink);

行为说明

当前实现会在互斥区内线性扫描 sink 列表,找到第一个 it->get() == sink 的元素后将其删除并停止遍历。

删除后:

  • sink 对象会立刻析构。
  • 对应指针立即失效。

如果传入空指针或未找到匹配项,当前实现会静默返回。

参数

  • sink - 之前注册到 Logger 的 sink 原始指针。

返回值

  • 无。

线程语义

  • 当前实现对移除操作加锁。

示例

using namespace XCEngine::Debug;

auto sink = std::make_unique<ConsoleLogSink>();
ConsoleLogSink* sinkPtr = sink.get();

Logger::Get().AddSink(std::move(sink));
Logger::Get().RemoveSink(sinkPtr);

相关文档