Struct flexi_logger::ReconfigurationHandle [] [src]

pub struct ReconfigurationHandle { /* fields omitted */ }

Allows reconfiguring the logger while it is in use (see Logger::start_reconfigurable() ).

Example

The following example shows how to use the reconfigurability feature.

extern crate log;
extern crate flexi_logger;
use flexi_logger::{Logger, LogSpecBuilder};
use log::LevelFilter;

fn main() {
    // Build the initial log specification
    let mut builder = LogSpecBuilder::new();  // default is LevelFilter::Off
    builder.default(LevelFilter::Info);
    builder.module("karl", LevelFilter::Debug);

    // Initialize Logger, keep builder alive
    let mut logger_reconf_handle = Logger::with(builder.build())
        // your logger configuration goes here, as usual
        .start_reconfigurable()
        .unwrap_or_else(|e| panic!("Logger initialization failed with {}", e));

    // ...

    // Modify builder and update the logger
    builder.default(LevelFilter::Error);
    builder.remove("karl");
    builder.module("emma", LevelFilter::Trace);

    logger_reconf_handle.set_new_spec(builder.build());

    // ...
}

Methods

impl ReconfigurationHandle
[src]

[src]

Allows specifying a new LogSpecification for the current logger.

[src]

Allows specifying a new LogSpecification for the current logger.

Trait Implementations

Auto Trait Implementations