843 B
843 B
ILogSink::Flush
virtual void Flush() = 0
刷新输出缓冲区,确保所有待写入的日志数据已实际写入目标介质。对于文件类 Sink,应调用底层文件系统的 flush;对于网络类 Sink,应发送缓冲区中的数据。
返回: 无
异常: 无
线程安全: ✅ 线程安全
复杂度: O(1)
示例:
class BufferedLogSink : public XCEngine::Debug::ILogSink {
private:
std::string m_buffer;
public:
void Log(const XCEngine::Debug::LogEntry& entry) override {
m_buffer += entry.message.CStr();
m_buffer += "\n";
}
void Flush() override {
// 将缓冲区数据写入目标
writeToDestination(m_buffer);
m_buffer.clear();
}
};
相关文档
- ILogSink 总览 - 返回类总览