Files
XCEngine/docs/api/debug/ilogsink/flush.md

843 B
Raw Blame History

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();
    }
};

相关文档