28 lines
836 B
Markdown
28 lines
836 B
Markdown
|
|
# Logger::AddSink
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
void AddSink(std::unique_ptr<ILogSink> sink)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
向日志系统添加一个输出目标(Sink)。Logger 持有 Sink 的所有权,传入的 `unique_ptr` 被移动到内部容器中。每次日志记录时,所有已注册的 Sink 的 `Log` 方法都会被调用。
|
|||
|
|
|
|||
|
|
**参数:**
|
|||
|
|
- `sink` - 要添加的日志输出目标,使用 `std::unique_ptr` 包装
|
|||
|
|
|
|||
|
|
**复杂度:** O(1)
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
#include <XCEngine/Debug/Logger.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"));
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [Logger 总览](logger.md) - 返回类总览
|
|||
|
|
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出接口
|