//! Output target trait definition.
usestd::fmt::Debug;usestd::io::Write;/// Trait for synchronous output targets.
////// Implementors provide a way to open a writable stream to various destinations
/// such as files, stdout/stderr, or in-memory buffers.
pubtraitOutputTarget: Send + Sync + Debug {/// Returns a unique identifier for this output target.
////// This is used for error messages and logging.
/// Convention: "-" for stdout, file path for files.
fnid(&self)->&str;/// Open the target for writing, truncating any existing content.
fnopen_overwrite(&self)->std::io::Result<Box<dyn Write +Send>>;/// Open the target for appending to existing content.
fnopen_append(&self)->std::io::Result<Box<dyn Write +Send>>;}