Struct tracing_subscriber::fmt::format::Writer
source · pub struct Writer<'writer> { /* private fields */ }
Expand description
A writer to which formatted representations of spans and events are written.
This type is provided as input to the FormatEvent::format_event
and
FormatFields::format_fields
methods, which will write formatted
representations of Event
s and fields to the Writer
.
This type implements the std::fmt::Write
trait, allowing it to be used
with any function that takes an instance of std::fmt::Write
.
Additionally, it can be used with the standard library’s std::write!
and
std::writeln!
macros.
Additionally, a Writer
may expose additional tracing
-specific
information to the formatter implementation.
Implementations§
source§impl<'writer> Writer<'writer>
impl<'writer> Writer<'writer>
sourcepub fn new(writer: &'writer mut impl Write) -> Self
pub fn new(writer: &'writer mut impl Write) -> Self
Create a new Writer
from any type that implements fmt::Write
.
The returned Writer
value may be passed as an argument to methods
such as Format::format_event
. Since constructing a Writer
mutably borrows the underlying fmt::Write
instance, that value may
be accessed again once the Writer
is dropped. For example, if the
value implementing fmt::Write
is a String
, it will contain
the formatted output of Format::format_event
, which may then be
used for other purposes.
sourcepub fn by_ref(&mut self) -> Writer<'_>
pub fn by_ref(&mut self) -> Writer<'_>
Return a new Writer
that mutably borrows self
.
This can be used to temporarily borrow a Writer
to pass a new Writer
to a function that takes a Writer
by value, allowing the original writer
to still be used once that function returns.
sourcepub fn write_str(&mut self, s: &str) -> Result
pub fn write_str(&mut self, s: &str) -> Result
Writes a string slice into this Writer
, returning whether the write succeeded.
This method can only succeed if the entire string slice was successfully written, and this method will not return until all data has been written or an error occurs.
This is identical to calling the write_str
method from the Writer
’s
std::fmt::Write
implementation. However, it is also provided as an
inherent method, so that Writer
s can be used without needing to import the
std::fmt::Write
trait.
§Errors
This function will return an instance of std::fmt::Error
on error.
sourcepub fn write_char(&mut self, c: char) -> Result
pub fn write_char(&mut self, c: char) -> Result
Writes a char
into this writer, returning whether the write succeeded.
A single char
may be encoded as more than one byte.
This method can only succeed if the entire byte sequence was successfully
written, and this method will not return until all data has been
written or an error occurs.
This is identical to calling the write_char
method from the Writer
’s
std::fmt::Write
implementation. However, it is also provided as an
inherent method, so that Writer
s can be used without needing to import the
std::fmt::Write
trait.
§Errors
This function will return an instance of std::fmt::Error
on error.
sourcepub fn write_fmt(&mut self, args: Arguments<'_>) -> Result
pub fn write_fmt(&mut self, args: Arguments<'_>) -> Result
Glue for usage of the write!
macro with Writer
s.
This method should generally not be invoked manually, but rather through
the write!
macro itself.
This is identical to calling the write_fmt
method from the Writer
’s
std::fmt::Write
implementation. However, it is also provided as an
inherent method, so that Writer
s can be used with the [write!
macro]
without needing to import the
std::fmt::Write
trait.
sourcepub fn has_ansi_escapes(&self) -> bool
pub fn has_ansi_escapes(&self) -> bool
Returns true
if ANSI escape codes may be used to add colors
and other formatting when writing to this Writer
.
If this returns false
, formatters should not emit ANSI escape codes.
Trait Implementations§
source§impl<'a> MakeVisitor<Writer<'a>> for DefaultFields
impl<'a> MakeVisitor<Writer<'a>> for DefaultFields
source§type Visitor = DefaultVisitor<'a>
type Visitor = DefaultVisitor<'a>
MakeVisitor
.source§fn make_visitor(&self, target: Writer<'a>) -> Self::Visitor
fn make_visitor(&self, target: Writer<'a>) -> Self::Visitor
target
.source§impl<'a, F> MakeVisitor<Writer<'a>> for FieldFn<F>
impl<'a, F> MakeVisitor<Writer<'a>> for FieldFn<F>
source§type Visitor = FieldFnVisitor<'a, F>
type Visitor = FieldFnVisitor<'a, F>
MakeVisitor
.source§fn make_visitor(&self, writer: Writer<'a>) -> Self::Visitor
fn make_visitor(&self, writer: Writer<'a>) -> Self::Visitor
target
.source§impl<'a> MakeVisitor<Writer<'a>> for PrettyFields
impl<'a> MakeVisitor<Writer<'a>> for PrettyFields
source§type Visitor = PrettyVisitor<'a>
type Visitor = PrettyVisitor<'a>
MakeVisitor
.source§fn make_visitor(&self, target: Writer<'a>) -> Self::Visitor
fn make_visitor(&self, target: Writer<'a>) -> Self::Visitor
target
.