40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# LogLevel
|
|
|
|
**命名空间**: `XCEngine::Debug`
|
|
|
|
**类型**: `enum class`
|
|
|
|
**头文件**: `XCEngine/Debug/LogLevel.h`
|
|
|
|
**描述**: 表示日志严重程度,并定义过滤时使用的优先级顺序。
|
|
|
|
## 概述
|
|
|
|
`LogLevel` 负责回答“这条日志有多严重”。它同时被 `Logger` 的全局阈值和 `ConsoleLogSink` 的本地阈值使用,因此其枚举顺序本身就是过滤规则的一部分。
|
|
|
|
当前实现使用“数值越大,严重程度越高”的顺序,比较方式是直接使用 `<`。
|
|
|
|
## 枚举值
|
|
|
|
| 值 | 当前数值 | 说明 |
|
|
|------|------|------|
|
|
| `Verbose` | `0` | 最细粒度的调试输出。 |
|
|
| `Debug` | `1` | 面向开发者的调试信息。 |
|
|
| `Info` | `2` | 重要但正常的运行信息。 |
|
|
| `Warning` | `3` | 可恢复或需关注的问题。 |
|
|
| `Error` | `4` | 明确的失败或异常路径。 |
|
|
| `Fatal` | `5` | 最严重级别;当前实现仍只负责记录日志。 |
|
|
|
|
## 当前实现说明
|
|
|
|
- `LogLevelToString` 会把枚举值转换为大写文本,例如 `INFO`、`ERROR`。
|
|
- `Logger` 和 `ConsoleLogSink` 都通过比较 `entry.level < minimumLevel` 过滤日志。
|
|
- `Fatal` 目前没有额外控制流语义;它不是“崩溃即将发生”的语言级保证,只是最高等级日志。
|
|
|
|
## 相关文档
|
|
|
|
- [当前模块](../Debug.md)
|
|
- [Logger](../Logger/Logger.md)
|
|
- [LogCategory](../LogCategory/LogCategory.md)
|
|
- [Logging Architecture](../../../_guides/Debug/Logging-Architecture.md)
|