Struct fern::Panic

source ·
pub struct Panic;
Expand description

Logger which will panic whenever anything is logged. The panic will be exactly the message of the log.

Panic is useful primarily as a secondary logger, filtered by warning or error.

Examples

This configuration will output all messages to stdout and panic if an Error message is sent.

fern::Dispatch::new()
    // format, etc.
    .chain(std::io::stdout())
    .chain(
        fern::Dispatch::new()
            .level(log::LevelFilter::Error)
            .chain(fern::Panic)
    )
    .apply()?;

This sets up a “panic on warn+” logger, and ignores errors so it can be called multiple times.

This might be useful in test setup, for example, to disallow warn-level messages.

fn setup_panic_logging() {
    fern::Dispatch::new()
        .level(log::LevelFilter::Warn)
        .chain(fern::Panic)
        .apply()
        // ignore errors from setting up logging twice
        .ok();
}

Trait Implementations

Creates an output logger which will panic with message text for all messages.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.