History-sink
Create a synchronous in-memory sink for bounded diagnostic history. It retains the newest records and does not write to a file, console, or network endpoint.
Interface
moonbit
pub fn history_sink(capacity? : Int = 128) -> HistorySinkExplanation
capacityis normalized to at least1; the default keeps the latest128records.- When full, the oldest record is evicted and
dropped_count()increases. snapshot()returns records ordered from oldest to newest.clear()starts a new in-memory history session.
How to Use
moonbit
let history = history_sink(capacity=64)
let logger = Logger::new(history, target="desktop")
logger.info("runtime ready")
let records = history.snapshot()Notes
HistorySink is synchronous and application-owned. Serialize or persist a snapshot explicitly when needed.