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

40 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LogEntry
**命名空间**: `XCEngine::Debug`
**类型**: `struct`
**头文件**: `XCEngine/Debug/LogEntry.h`
**描述**: 承载单条日志记录的结构体。
## 概述
`LogEntry``Logger` 与各类 sink 之间传递日志数据的统一载体。调用方通常不会手动构造它,而是通过 `Logger::Log` 或便捷方法间接生成sink 实现则读取其中的字段决定如何格式化输出。
## 字段说明
| 字段 | 类型 | 说明 |
|------|------|------|
| `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 位值。 |
## 当前实现说明
- `Logger::Log` 会为 `timestamp``threadId` 自动填值。
- `Logger::Verbose``Info` 等便捷方法调用的是带默认参数的 `Log`,因此默认不会填充 `file``line``function`
- 如果希望保留源码位置,推荐使用 `XE_LOG` 宏而不是直接调用这些便捷方法。
## 相关文档
- [当前模块](../Debug.md)
- [Logger](../Logger/Logger.md)
- [ILogSink](../ILogSink/ILogSink.md)
- [Logging Architecture](../../../_guides/Debug/Logging-Architecture.md)