Struct tracing_subscriber::fmt::writer::BoxMakeWriter [−][src]
pub struct BoxMakeWriter { /* fields omitted */ }
Expand description
A writer that erases the specific io::Write
and MakeWriter
types being used.
This is useful in cases where the concrete type of the writer cannot be known until runtime.
Examples
A function that returns a Subscriber
that will write to either stdout or stderr:
fn dynamic_writer(use_stderr: bool) -> impl Subscriber {
let writer = if use_stderr {
BoxMakeWriter::new(std::io::stderr)
} else {
BoxMakeWriter::new(std::io::stdout)
};
tracing_subscriber::fmt().with_writer(writer).finish()
}
Implementations
Constructs a BoxMakeWriter
wrapping a type implementing MakeWriter
.
Trait Implementations
The concrete io::Write
implementation returned by make_writer
. Read more
Auto Trait Implementations
impl !RefUnwindSafe for BoxMakeWriter
impl Send for BoxMakeWriter
impl Sync for BoxMakeWriter
impl Unpin for BoxMakeWriter
impl !UnwindSafe for BoxMakeWriter
Blanket Implementations
Mutably borrows from an owned value. Read more
Wraps self
and returns a MakeWriter
that will only write output
for events at or below the provided verbosity Level
. For instance,
Level::TRACE
is considered to be _more verbosethan
Level::INFO`. Read more
Wraps self
and returns a MakeWriter
that will only write output
for events at or above the provided verbosity Level
. Read more
fn with_filter<F>(self, filter: F) -> WithFilter<Self, F> where
Self: Sized,
F: Fn(&Metadata<'_>) -> bool,
fn with_filter<F>(self, filter: F) -> WithFilter<Self, F> where
Self: Sized,
F: Fn(&Metadata<'_>) -> bool,
Wraps self
with a predicate that takes a span or event’s Metadata
and returns a bool
. The returned MakeWriter
’s
MakeWriter::make_writer_for
method will check the predicate to
determine if a writer should be produced for a given span or event. Read more
Combines self
with another type implementing MakeWriter
, returning
a new MakeWriter
that produces [writers] that write to both
outputs. Read more
fn or_else<W, B>(self, other: B) -> OrElse<Self, B> where
Self: MakeWriter<Writer = OptionalWriter<W>> + Sized,
B: MakeWriter + Sized,
W: Write,
fn or_else<W, B>(self, other: B) -> OrElse<Self, B> where
Self: MakeWriter<Writer = OptionalWriter<W>> + Sized,
B: MakeWriter + Sized,
W: Write,
Combines self
with another type implementing MakeWriter
, returning
a new MakeWriter
that calls other
’s [make_writer
] if self
’s
make_writer
returns OptionalWriter::none
. Read more