872 B
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);