[][src]Struct simplelog::CombinedLogger

pub struct CombinedLogger { /* fields omitted */ }

The CombinedLogger struct. Provides a Logger implementation that proxies multiple Loggers as one.

The purpose is to allow multiple Loggers to be set globally

Implementations

impl CombinedLogger[src]

pub fn init(logger: Vec<Box<dyn SharedLogger>>) -> Result<(), SetLoggerError>[src]

init function. Globally initializes the CombinedLogger as the one and only used log facility.

Takes all used Loggers as a Vector argument. None of those Loggers should already be set globally.

All loggers need to implement log::Log and logger::SharedLogger and need to provide a way to be initialized without calling set_logger. All loggers of this library provide a `new(..)`` method for that purpose. Fails if another logger is already set globally.

Examples

let _ = CombinedLogger::init(
            vec![
                TermLogger::new(LevelFilter::Info, Config::default(), TerminalMode::Mixed),
                WriteLogger::new(LevelFilter::Info, Config::default(), File::create("my_rust_bin.log").unwrap())
            ]
        );

pub fn new(logger: Vec<Box<dyn SharedLogger>>) -> Box<CombinedLogger>[src]

allows to create a new logger, that can be independently used, no matter whats globally set.

no macros are provided for this case and you probably dont want to use this function, but init(), if you dont want to build a CombinedLogger.

Takes all used loggers as a Vector argument. The log level is automatically determined by the lowest log level used by the given loggers.

All loggers need to implement log::Log.

Examples

let combined_logger = CombinedLogger::new(
            vec![
                TermLogger::new(LevelFilter::Debug, Config::default(), TerminalMode::Mixed),
                WriteLogger::new(LevelFilter::Info, Config::default(), File::create("my_rust_bin.log").unwrap())
            ]
        );

Trait Implementations

impl Log for CombinedLogger[src]

impl SharedLogger for CombinedLogger[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.