diff --git a/libportage/util/logger.rs b/libportage/util/logger.rs new file mode 100644 index 0000000..3475493 --- /dev/null +++ b/libportage/util/logger.rs @@ -0,0 +1,24 @@ +use log::{Record, Level, Metadata, SetLoggerError, LevelFilter}; + +struct SimpleLogger; + +impl log::Log for SimpleLogger { + fn enabled(&self, metadata: &Metadata) -> bool { + metadata.level() <= Level::Info + } + + fn log(&self, record: &Record) { + if self.enabled(record.metadata()) { + println!("{} - {}" , record.level(), record.args()); + } + } + + fn flush(&self) { } +} + +static LOGGER: SimpleLogger = SimpleLogger; + +pub fn logger_init(level: LevelFilter) -> Result<(), SetLoggerError> { + log::set_logger(&LOGGER) + .map(|()| log::set_max_level(level)) +} \ No newline at end of file diff --git a/libportage/util/mod.rs b/libportage/util/mod.rs new file mode 100644 index 0000000..b758850 --- /dev/null +++ b/libportage/util/mod.rs @@ -0,0 +1,2 @@ + +pub mod logger;