Struct env_logger::fmt::Formatter
source · 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 colors, through the style
method.
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 style(&self) -> Style
pub fn style(&self) -> Style
Begin a new Style
.
Examples
Create a bold, red colored style and use it to print the log level:
use std::io::Write;
use env_logger::fmt::Color;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut level_style = buf.style();
level_style.set_color(Color::Red).set_bold(true);
writeln!(buf, "{}: {}",
level_style.value(record.level()),
record.args())
});
sourcepub fn default_level_style(&self, level: Level) -> Style
pub fn default_level_style(&self, level: Level) -> Style
Get the default Style
for the given level.
The style can be used to print other values besides the level.
sourcepub fn default_styled_level(&self, level: Level) -> StyledValue<'static, Level>
pub fn default_styled_level(&self, level: Level) -> StyledValue<'static, Level>
Get a printable Style
for the given level.
The style can only be used to print the level.
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 precise_timestamp(&self) -> PreciseTimestamp
pub fn precise_timestamp(&self) -> PreciseTimestamp
Get a PreciseTimestamp
for the current date and time in UTC with nanos.
Trait Implementations§
source§impl Write for Formatter
impl Write for Formatter
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more