Struct env_logger::fmt::Style [] [src]

pub struct Style { /* fields omitted */ }

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())
});

Methods

impl Style
[src]

[src]

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()))
});

[src]

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()))
});

[src]

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()))
});

[src]

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()))
});

[src]

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())
});

Trait Implementations

impl Clone for Style
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Style
[src]

[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !Send for Style

impl !Sync for Style