|
@@ -3,13 +3,15 @@
|
|
|
extern crate log;
|
|
|
extern crate time;
|
|
|
|
|
|
-use log::{Log,LogLevel,LogLevelFilter,LogMetadata,LogRecord,SetLoggerError};
|
|
|
+use log::{Log,LogLevel,LogMetadata,LogRecord,SetLoggerError};
|
|
|
|
|
|
-struct SimpleLogger;
|
|
|
+struct SimpleLogger {
|
|
|
+ log_level: LogLevel,
|
|
|
+}
|
|
|
|
|
|
impl Log for SimpleLogger {
|
|
|
fn enabled(&self, metadata: &LogMetadata) -> bool {
|
|
|
- metadata.level() <= LogLevel::Trace
|
|
|
+ metadata.level() <= self.log_level
|
|
|
}
|
|
|
|
|
|
fn log(&self, record: &LogRecord) {
|
|
@@ -24,10 +26,17 @@ impl Log for SimpleLogger {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/// Initializes the global logger with a SimpleLogger instance
|
|
|
-pub fn init() -> Result<(), SetLoggerError> {
|
|
|
+/// Initializes the global logger with a SimpleLogger instance with `max_log_level` set to
|
|
|
+/// the specified log level.
|
|
|
+pub fn init_with_level(log_level: LogLevel) -> Result<(), SetLoggerError> {
|
|
|
log::set_logger(|max_log_level| {
|
|
|
- max_log_level.set(LogLevelFilter::Trace);
|
|
|
- return Box::new(SimpleLogger);
|
|
|
+ max_log_level.set(log_level.to_log_level_filter());
|
|
|
+ return Box::new(SimpleLogger { log_level: log_level });
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+/// Initializes the global logger with a SimpleLogger instance with `max_log_level` set to
|
|
|
+/// `LogLevel::Trace`.
|
|
|
+pub fn init() -> Result<(), SetLoggerError> {
|
|
|
+ init_with_level(LogLevel::Trace)
|
|
|
+}
|