Struct env_logger::fmt::Style
source · pub struct Style { /* private fields */ }
Expand description
A set of styles to apply to the terminal output.
Call Formatter::style
to get a Style
and use the builder methods to
set styling properties, like color and weight.
To print a value using the style, wrap it in a call to value
when the log
record is formatted.
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())
});
Styles can be re-used to output multiple values:
use std::io::Write;
use env_logger::fmt::Color;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut bold = buf.style();
bold.set_bold(true);
writeln!(buf, "{}: {} {}",
bold.value(record.level()),
bold.value("some bold text"),
record.args())
});
Implementations§
source§impl Style
impl Style
sourcepub fn set_color(&mut self, color: Color) -> &mut Style
pub fn set_color(&mut self, color: Color) -> &mut Style
Set the text color.
Examples
Create a style with red text:
use std::io::Write;
use env_logger::fmt::Color;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut style = buf.style();
style.set_color(Color::Red);
writeln!(buf, "{}", style.value(record.args()))
});
sourcepub fn set_bold(&mut self, yes: bool) -> &mut Style
pub fn set_bold(&mut self, yes: bool) -> &mut Style
Set the text weight.
If yes
is true then text will be written in bold.
If yes
is false then text will be written in the default weight.
Examples
Create a style with bold text:
use std::io::Write;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut style = buf.style();
style.set_bold(true);
writeln!(buf, "{}", style.value(record.args()))
});
sourcepub fn set_intense(&mut self, yes: bool) -> &mut Style
pub fn set_intense(&mut self, yes: bool) -> &mut Style
Set the text intensity.
If yes
is true then text will be written in a brighter color.
If yes
is false then text will be written in the default color.
Examples
Create a style with intense text:
use std::io::Write;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut style = buf.style();
style.set_intense(true);
writeln!(buf, "{}", style.value(record.args()))
});
sourcepub fn set_dimmed(&mut self, yes: bool) -> &mut Style
pub fn set_dimmed(&mut self, yes: bool) -> &mut Style
Set whether the text is dimmed.
If yes
is true then text will be written in a dimmer color.
If yes
is false then text will be written in the default color.
Examples
Create a style with dimmed text:
use std::io::Write;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut style = buf.style();
style.set_dimmed(true);
writeln!(buf, "{}", style.value(record.args()))
});
sourcepub fn set_bg(&mut self, color: Color) -> &mut Style
pub fn set_bg(&mut self, color: Color) -> &mut Style
Set the background color.
Examples
Create a style with a yellow background:
use std::io::Write;
use env_logger::fmt::Color;
let mut builder = env_logger::Builder::new();
builder.format(|buf, record| {
let mut style = buf.style();
style.set_bg(Color::Yellow);
writeln!(buf, "{}", style.value(record.args()))
});
sourcepub fn value<T>(&self, value: T) -> StyledValue<'_, T>
pub fn value<T>(&self, value: T) -> StyledValue<'_, T>
Wrap a value in the style.
The same Style
can be used to print multiple different values.
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 style = buf.style();
style.set_color(Color::Red).set_bold(true);
writeln!(buf, "{}: {}",
style.value(record.level()),
record.args())
});