pub struct Output { /* private fields */ }Expand description
Sink for plugin output. Plugins write here instead of println! so output
stays consistent with the requested mode and verbosity.
Implementations§
Source§impl Output
impl Output
Sourcepub fn for_context(ctx: &Context, writer: impl Write + Send + 'static) -> Self
pub fn for_context(ctx: &Context, writer: impl Write + Send + 'static) -> Self
Build an Output from a Context and a writer (typically stdout).
Sourcepub fn with_writer(self, writer: impl Write + Send + 'static) -> Self
pub fn with_writer(self, writer: impl Write + Send + 'static) -> Self
Replace the inner writer. Useful in tests.
Sourcepub const fn mode(&self) -> OutputMode
pub const fn mode(&self) -> OutputMode
Reported output mode.
Sourcepub fn human(&mut self, msg: &str)
pub fn human(&mut self, msg: &str)
Write a human-readable message terminated by a newline.
Suppressed when the log level is LogLevel::Quiet or the output mode
is OutputMode::Json.
Sourcepub fn json<T: Serialize>(&mut self, value: &T) -> Result<()>
pub fn json<T: Serialize>(&mut self, value: &T) -> Result<()>
Serialize a value as a single line of JSON to the output.
Always emits regardless of log level (errors are surfaced via
Self::error).
§Errors
Returns an Error::JsonParse if serialization fails or an
Error::Io if writing to the underlying writer fails.
Auto Trait Implementations§
impl Freeze for Output
impl !RefUnwindSafe for Output
impl Send for Output
impl !Sync for Output
impl Unpin for Output
impl UnsafeUnpin for Output
impl !UnwindSafe for Output
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more