936 B
936 B
ILogSink::Log
输出一条已经构造完成的日志记录。
virtual void Log(const LogEntry& entry) = 0;
行为说明
这是纯虚接口。Logger 负责创建 LogEntry、做全局过滤和序列化分发,sink 实现只需要关心如何消费这条记录。
常见实现策略包括:
- 控制台打印
- 文件写入
- 编辑器面板缓存
- 远程调试通道转发
参数
entry- 已构造完成的日志记录。
返回值
- 无。
线程语义
- 由具体实现决定。
- 在当前引擎实现中,通过
Logger分发时通常是串行调用。
示例
class CountingSink final : public XCEngine::Debug::ILogSink {
public:
void Log(const XCEngine::Debug::LogEntry& entry) override {
++count;
}
void Flush() override {}
int count = 0;
};