docs: rebuild Debug API content
This commit is contained in:
@@ -1,31 +1,47 @@
|
||||
# Logger::RemoveSink
|
||||
|
||||
移除元素或解除关联。
|
||||
按原始指针移除一个已注册的 sink。
|
||||
|
||||
```cpp
|
||||
void RemoveSink(ILogSink* sink);
|
||||
```
|
||||
|
||||
该方法声明于 `XCEngine/Debug/Logger.h`,当前页面用于固定 `Logger` 类目录下的方法级 canonical 路径。
|
||||
## 行为说明
|
||||
|
||||
**参数:**
|
||||
- `sink` - 参数语义详见头文件声明。
|
||||
当前实现会在互斥区内线性扫描 sink 列表,找到第一个 `it->get() == sink` 的元素后将其删除并停止遍历。
|
||||
|
||||
**返回:** `void` - 无返回值。
|
||||
删除后:
|
||||
|
||||
**示例:**
|
||||
- sink 对象会立刻析构。
|
||||
- 对应指针立即失效。
|
||||
|
||||
如果传入空指针或未找到匹配项,当前实现会静默返回。
|
||||
|
||||
## 参数
|
||||
|
||||
- `sink` - 之前注册到 `Logger` 的 sink 原始指针。
|
||||
|
||||
## 返回值
|
||||
|
||||
- 无。
|
||||
|
||||
## 线程语义
|
||||
|
||||
- 当前实现对移除操作加锁。
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/Debug/Logger.h>
|
||||
using namespace XCEngine::Debug;
|
||||
|
||||
void Example() {
|
||||
XCEngine::Debug::Logger object;
|
||||
// 根据上下文补齐参数后调用 Logger::RemoveSink(...)。
|
||||
(void)object;
|
||||
}
|
||||
auto sink = std::make_unique<ConsoleLogSink>();
|
||||
ConsoleLogSink* sinkPtr = sink.get();
|
||||
|
||||
Logger::Get().AddSink(std::move(sink));
|
||||
Logger::Get().RemoveSink(sinkPtr);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类总览](Logger.md)
|
||||
- [返回模块目录](../Debug.md)
|
||||
- [返回类型总览](Logger.md)
|
||||
- [AddSink](AddSink.md)
|
||||
|
||||
Reference in New Issue
Block a user