Files
XCEngine/docs/api/debug/logentry/logentry.md

50 lines
1.4 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` 是日志系统的核心数据结构,每次日志记录都生成一个 `LogEntry` 并分发给所有注册的 Sink。
## 结构体成员
| 成员 | 类型 | 描述 |
|------|------|------|
| `level` | `LogLevel` | 日志级别 |
| `category` | `LogCategory` | 日志分类 |
| `message` | `Containers::String` | 日志消息内容 |
| `file` | `Containers::String` | 源代码文件路径 |
| `line` | `int32_t` | 源代码行号 |
| `function` | `Containers::String` | 函数名称 |
| `timestamp` | `uint64_t` | 时间戳Unix 时间戳) |
| `threadId` | `uint32_t` | 线程 ID |
## 使用示例
```cpp
class MySink : public ILogSink {
public:
void Log(const LogEntry& entry) override {
printf("[%llu][%u] %s::%s: %s\n",
(unsigned long long)entry.timestamp,
(unsigned)entry.threadId,
LogCategoryToString(entry.category),
LogLevelToString(entry.level),
entry.message.CStr());
}
void Flush() override { }
};
```
## 相关文档
- [Debug 模块总览](../debug.md) - 返回模块总览
- [ILogSink](../ilogsink/ilogsink.md) - 日志输出接口
- [Logger](../logger/logger.md) - 日志记录器