docs: update core and debug API docs
This commit is contained in:
@@ -1,27 +1,43 @@
|
||||
# Logger::AddSink
|
||||
|
||||
```cpp
|
||||
void AddSink(std::unique_ptr<ILogSink> sink)
|
||||
void AddSink(std::unique_ptr<ILogSink> sink);
|
||||
```
|
||||
|
||||
向日志系统添加一个输出目标(Sink)。Logger 持有 Sink 的所有权,传入的 `unique_ptr` 被移动到内部容器中。每次日志记录时,所有已注册的 Sink 的 `Log` 方法都会被调用。
|
||||
添加一个日志输出槽(Sink)到 Logger。Sink 负责将日志输出到具体目标(如控制台、文件、网络等)。
|
||||
|
||||
**参数:**
|
||||
- `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) - 日志输出槽接口
|
||||
|
||||
Reference in New Issue
Block a user