2026-03-26 16:45:24 +08:00
|
|
|
# Logger::Initialize
|
|
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
把 `Logger` 标记为已初始化。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void Initialize();
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
当前实现是幂等的:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
- 如果已经初始化,直接返回。
|
|
|
|
|
- 如果尚未初始化,仅把内部 `m_initialized` 设为 `true`。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
它不会做以下事情:
|
|
|
|
|
|
|
|
|
|
- 不会添加默认 sink。
|
|
|
|
|
- 不会清空已有 sink。
|
|
|
|
|
- 不会重置最小级别或 category 开关。
|
|
|
|
|
|
|
|
|
|
因此,推荐把它理解为“进入可用状态”的轻量标记,而不是完整的日志系统自举流程。
|
|
|
|
|
|
|
|
|
|
## 参数
|
|
|
|
|
|
|
|
|
|
- 无。
|
|
|
|
|
|
|
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 无。
|
|
|
|
|
|
|
|
|
|
## 线程语义
|
|
|
|
|
|
|
|
|
|
- 当前实现没有显式同步初始化流程;如果多线程首次同时写日志,`Log` 的自动初始化路径虽然通常能工作,但仍建议在启动阶段显式调用一次。
|
|
|
|
|
|
|
|
|
|
## 示例
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
2026-03-26 17:21:44 +08:00
|
|
|
using namespace XCEngine::Debug;
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
Logger::Get().Initialize();
|
|
|
|
|
Logger::Get().AddSink(std::make_unique<ConsoleLogSink>());
|
2026-03-26 16:45:24 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
- [返回类型总览](Logger.md)
|
|
|
|
|
- [Shutdown](Shutdown.md)
|
|
|
|
|
- [Log](Log.md)
|