docs: rebuild Debug API content

This commit is contained in:
2026-03-26 17:21:44 +08:00
parent 122495e581
commit 2e2316aa55
69 changed files with 2371 additions and 1092 deletions

View File

@@ -1,31 +1,43 @@
# Logger::AddSink
添加元素或建立关联
把一个日志输出目标注册到全局 `Logger`
```cpp
void AddSink(std::unique_ptr<ILogSink> sink);
```
该方法声明于 `XCEngine/Debug/Logger.h`,当前页面用于固定 `Logger` 类目录下的方法级 canonical 路径。
## 行为说明
**参数:**
- `sink` - 参数语义详见头文件声明。
当前实现会在互斥区内把 `sink` 移入内部 `std::vector<std::unique_ptr<ILogSink>>`。注册后:
**返回:** `void` - 无返回值
- `Logger` 接管对象生命周期
- 之后的每次 `Log` 都会把日志分发给该 sink。
- 不会因为未初始化而失败;`AddSink` 本身不依赖 `Initialize`
**示例:**
## 参数
- `sink` - 新的日志输出目标,所有权会转移给 `Logger`
## 返回值
- 无。
## 线程语义
- 当前实现对 sink 列表写入加锁。
## 示例
```cpp
#include <XCEngine/Debug/Logger.h>
using namespace XCEngine::Debug;
void Example() {
XCEngine::Debug::Logger object;
// 根据上下文补齐参数后调用 Logger::AddSink(...)。
(void)object;
}
Logger::Get().Initialize();
Logger::Get().AddSink(std::make_unique<ConsoleLogSink>());
Logger::Get().AddSink(std::make_unique<FileLogSink>("engine.log"));
```
## 相关文档
- [返回类总览](Logger.md)
- [返回模块目录](../Debug.md)
- [返回类总览](Logger.md)
- [RemoveSink](RemoveSink.md)
- [ILogSink](../ILogSink/ILogSink.md)