Files
XCEngine/docs/api/XCEngine/Debug/LogEntry/LogEntry.md

40 lines
1.6 KiB
Markdown
Raw Normal View History

2026-03-26 16:45:24 +08:00
# LogEntry
**命名空间**: `XCEngine::Debug`
**类型**: `struct`
**头文件**: `XCEngine/Debug/LogEntry.h`
2026-03-26 17:21:44 +08:00
**描述**: 承载单条日志记录的结构体。
2026-03-26 16:45:24 +08:00
## 概述
2026-03-26 17:21:44 +08:00
`LogEntry``Logger` 与各类 sink 之间传递日志数据的统一载体。调用方通常不会手动构造它,而是通过 `Logger::Log` 或便捷方法间接生成sink 实现则读取其中的字段决定如何格式化输出。
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
| 字段 | 类型 | 说明 |
2026-03-26 16:45:24 +08:00
|------|------|------|
2026-03-26 17:21:44 +08:00
| `level` | `LogLevel` | 日志严重级别。 |
| `category` | `LogCategory` | 日志功能域。 |
| `message` | `Containers::String` | 最终日志文本。 |
| `file` | `Containers::String` | 源文件路径;只有显式传入时才有值。 |
| `line` | `int32_t` | 源码行号;便捷方法通常保留为 `0`。 |
| `function` | `Containers::String` | 源函数名;只有显式传入时才有值。 |
| `timestamp` | `uint64_t` | 当前实现中为 Unix epoch 秒数。 |
| `threadId` | `uint32_t` | 当前实现中为 `std::thread::id` 哈希后的 32 位值。 |
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
- `Logger::Log` 会为 `timestamp``threadId` 自动填值。
- `Logger::Verbose``Info` 等便捷方法调用的是带默认参数的 `Log`,因此默认不会填充 `file``line``function`
- 如果希望保留源码位置,推荐使用 `XE_LOG` 宏而不是直接调用这些便捷方法。
2026-03-26 16:45:24 +08:00
## 相关文档
2026-03-26 17:21:44 +08:00
- [当前模块](../Debug.md)
- [Logger](../Logger/Logger.md)
- [ILogSink](../ILogSink/ILogSink.md)
- [Logging Architecture](../../../_guides/Debug/Logging-Architecture.md)