44 lines
959 B
Markdown
44 lines
959 B
Markdown
# Logger::AddSink
|
||
|
||
```cpp
|
||
void AddSink(std::unique_ptr<ILogSink> sink);
|
||
```
|
||
|
||
添加一个日志输出槽(Sink)到 Logger。Sink 负责将日志输出到具体目标(如控制台、文件、网络等)。
|
||
|
||
**参数:**
|
||
- `sink` - 指向 ILogSink 接口的唯一指针
|
||
|
||
**返回:** 无
|
||
|
||
**线程安全:** ✅
|
||
|
||
**复杂度:** O(1)
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
#include "XCEngine/Debug/Logger.h"
|
||
#include "XCEngine/Debug/ConsoleLogSink.h"
|
||
#include "XCEngine/Debug/FileLogSink.h"
|
||
|
||
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) - 返回类总览
|
||
- [RemoveSink](removesink.md) - 移除日志输出槽
|
||
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出槽接口
|