# 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)