pub struct StdoutReporter<W> { /* private fields */ }Expand description
Human-readable reporter that writes structured log lines to a Write sink.
Each AgentEvent is printed as a bracketed tag followed by key fields,
for example [turn] started session=abc turn=1. Turn results include
indented item and part summaries so the operator can follow the
conversation at a glance.
I/O errors are collected internally; call
take_errors after the loop to inspect them.
§Example
use agentkit_reporting::StdoutReporter;
// Print events to stderr, hiding usage lines.
let reporter = StdoutReporter::new(std::io::stderr())
.with_usage(false);Implementations§
Source§impl<W> StdoutReporter<W>where
W: Write,
impl<W> StdoutReporter<W>where
W: Write,
Sourcepub fn new(writer: W) -> Self
pub fn new(writer: W) -> Self
Creates a new StdoutReporter that writes to the given writer.
Usage lines are shown by default. Disable them with
with_usage(false).
§Arguments
writer- AnyWriteimplementation (typicallystd::io::stdout()orstd::io::stderr()).
Sourcepub fn with_usage(self, show_usage: bool) -> Self
pub fn with_usage(self, show_usage: bool) -> Self
Controls whether [usage] lines are printed (builder pattern).
Defaults to true. Set to false to reduce output noise when
you are already tracking usage through a UsageReporter.
Sourcepub fn take_errors(&mut self) -> Vec<ReportError>
pub fn take_errors(&mut self) -> Vec<ReportError>
Drains and returns all errors accumulated during event handling.
Subsequent calls return an empty Vec until new errors occur.
Trait Implementations§
Source§impl<W> LoopObserver for StdoutReporter<W>
impl<W> LoopObserver for StdoutReporter<W>
Source§fn handle_event(&mut self, event: AgentEvent)
fn handle_event(&mut self, event: AgentEvent)
AgentEvent emitted by the loop driver.