Struct simplelog::CombinedLogger [−][src]
pub struct CombinedLogger { /* fields omitted */ }
Expand description
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
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, ColorChoice::Auto),
WriteLogger::new(LevelFilter::Info, Config::default(), File::create("my_rust_bin.log").unwrap())
]
);
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, ColorChoice::Auto),
WriteLogger::new(LevelFilter::Info, Config::default(), File::create("my_rust_bin.log").unwrap())
]
);