docs: update core and debug API docs

This commit is contained in:
2026-03-20 02:35:07 +08:00
parent 0c073db4e8
commit e165dbea1c
73 changed files with 743 additions and 391 deletions

View File

@@ -1,27 +1,43 @@
# Logger::AddSink
```cpp
void AddSink(std::unique_ptr<ILogSink> sink)
void AddSink(std::unique_ptr<ILogSink> sink);
```
向日志系统添加一个输出目标SinkLogger 持有 Sink 的所有权,传入的 `unique_ptr` 被移动到内部容器中。每次日志记录时,所有已注册的 Sink 的 `Log` 方法都会被调用
添加一个日志输出槽SinkLoggerSink 负责将日志输出到具体目标(如控制台、文件、网络等)
**参数:**
- `sink` - 要添加的日志输出目标,使用 `std::unique_ptr` 包装
- `sink` - 指向 ILogSink 接口的唯一指针
**返回:**
**线程安全:**
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Debug/Logger.h>
#include "XCEngine/Debug/Logger.h"
#include "XCEngine/Debug/ConsoleLogSink.h"
#include "XCEngine/Debug/FileLogSink.h"
XCEngine::Debug::Logger::Get().Initialize();
XCEngine::Debug::Logger::Get().AddSink(std::make_unique<XCEngine::Debug::ConsoleLogSink>());
XCEngine::Debug::Logger::Get().AddSink(std::make_unique<XCEngine::Debug::FileLogSink>("app.log"));
using namespace XCEngine::Debug;
Logger& logger = Logger::Get();
logger.Initialize();
// 添加控制台输出
logger.AddSink(std::make_unique<ConsoleLogSink>());
// 添加文件输出
logger.AddSink(std::make_unique<FileLogSink>("app.log"));
logger.Info(LogCategory::General, "Sinks added");
```
## 相关文档
- [Logger 总览](logger.md) - 返回类总览
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出接口
- [Logger](logger.md) - 返回类总览
- [RemoveSink](removesink.md) - 移除日志输出
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出槽接口