pub struct Formatter { /* private fields */ }
Expand description
A formatter to write logs into.
Formatter
implements the standard Write
trait for writing log records.
It also supports terminal styling using ANSI escape codes.
§Examples
Use the writeln
macro to format a log record.
An instance of a Formatter
is passed to an env_logger
format as buf
:
use std::io::Write;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| writeln!(buf, "{}: {}", record.level(), record.args()));
Implementations§
Source§impl Formatter
impl Formatter
Sourcepub fn timestamp(&self) -> Timestamp
pub fn timestamp(&self) -> Timestamp
Get a Timestamp
for the current date and time in UTC.
§Examples
Include the current timestamp with the log record:
use std::io::Write;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let ts = buf.timestamp();
writeln!(buf, "{}: {}: {}", ts, record.level(), record.args())
});
Sourcepub fn timestamp_seconds(&self) -> Timestamp
pub fn timestamp_seconds(&self) -> Timestamp
Get a Timestamp
for the current date and time in UTC with full
second precision.
Sourcepub fn timestamp_millis(&self) -> Timestamp
pub fn timestamp_millis(&self) -> Timestamp
Get a Timestamp
for the current date and time in UTC with
millisecond precision.
Sourcepub fn timestamp_micros(&self) -> Timestamp
pub fn timestamp_micros(&self) -> Timestamp
Get a Timestamp
for the current date and time in UTC with
microsecond precision.
Sourcepub fn timestamp_nanos(&self) -> Timestamp
pub fn timestamp_nanos(&self) -> Timestamp
Get a Timestamp
for the current date and time in UTC with
nanosecond precision.
Source§impl Formatter
impl Formatter
Sourcepub fn default_level_style(&self, level: Level) -> Style
pub fn default_level_style(&self, level: Level) -> Style
Get the default style::Style
for the given level.
The style can be used to print other values besides the level.
See style
for how to adapt it to the styling crate of your choice
Trait Implementations§
Source§impl Write for Formatter
impl Write for Formatter
Source§fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored
)Auto Trait Implementations§
impl Freeze for Formatter
impl !RefUnwindSafe for Formatter
impl !Send for Formatter
impl !Sync for Formatter
impl Unpin for Formatter
impl !UnwindSafe for Formatter
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
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> ⓘ
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> ⓘ
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