2026-03-26 16:45:24 +08:00
|
|
|
# Logger::SetCategoryEnabled
|
|
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
打开或关闭某个日志分类。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void SetCategoryEnabled(LogCategory category, bool enabled);
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
当前实现会把 `category` 对应的启用位直接写入内部数组。之后所有 `Log` 调用都会先检查这个开关,再决定是否分发该分类日志。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
这是一种非常轻量的 category 过滤方式,但也意味着:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
- 当前实现没有加锁。
|
|
|
|
|
- 枚举值数量与数组长度耦合。
|
|
|
|
|
|
|
|
|
|
## 参数
|
|
|
|
|
|
|
|
|
|
- `category` - 需要开关的日志分类。
|
|
|
|
|
- `enabled` - `true` 表示启用,`false` 表示禁用。
|
|
|
|
|
|
|
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 无。
|
|
|
|
|
|
|
|
|
|
## 线程语义
|
|
|
|
|
|
|
|
|
|
- 建议在初始化阶段配置,而不是在多个线程持续写日志时频繁修改。
|
|
|
|
|
|
|
|
|
|
## 示例
|
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().SetCategoryEnabled(LogCategory::Rendering, false);
|
2026-03-26 16:45:24 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 17:21:44 +08:00
|
|
|
- [返回类型总览](Logger.md)
|
|
|
|
|
- [SetMinimumLevel](SetMinimumLevel.md)
|
|
|
|
|
- [LogCategory](../LogCategory/LogCategory.md)
|