Skip to content

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) -> HistorySink

Explanation

  • capacity is normalized to at least 1; the default keeps the latest 128 records.
  • 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.

Published from the repository docs folder with VitePress.