Struct simplelog::CombinedLogger
[−]
[src]
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
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 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(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