docs: rebuild Debug API content
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user