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 Events 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 Writers 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 Writers 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 Writers.
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 Writers 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.