Struct simplelog::CombinedLogger [] [src]

pub struct CombinedLogger {
    // some 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

Methods

impl CombinedLogger
[src]

fn init(logger: Vec<Box<SharedLogger>>) -> Result<()SetLoggerError>

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(LogLevelFilter::Info, Config::default()).unwrap(),
                WriteLogger::new(LogLevelFilter::Info, Config::default(), File::create("my_rust_bin.log").unwrap())
            ]
        );

fn new(logger: Vec<Box<SharedLogger>>) -> Box<CombinedLogger>

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 aCombinedLogger`.

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(LogLevelFilter::Debug, Config::default()).unwrap(),
                WriteLogger::new(LogLevelFilter::Info, Config::default(), File::create("my_rust_bin.log").unwrap())
            ]
        );

Trait Implementations

impl Log for CombinedLogger
[src]

fn enabled(&self, metadata: &LogMetadata) -> bool

Determines if a log message with the specified metadata would be logged. Read more

fn log(&self, record: &LogRecord)

Logs the LogRecord. Read more

impl SharedLogger for CombinedLogger
[src]

fn level(&self) -> LogLevelFilter

Returns the set LogLevel for this Logger Read more

fn config(&self) -> Option<&Config>

Inspect the config of a running Logger Read more

fn as_log(self: Box<Self>) -> Box<Log>

Returns the logger as a Log trait object