123456789101112131415161718192021222324252627282930313233343536373839 |
- use core::str::FromStr;
- use log::{Level, LevelFilter};
- pub struct Logger;
- impl Logger {
- pub fn init() {
- log::set_max_level(
- option_env!("RUST_LOG")
- .and_then(|s| LevelFilter::from_str(s).ok())
- .unwrap_or(LevelFilter::Info),
- );
- log::set_logger(&Logger).unwrap();
- }
- }
- impl log::Log for Logger {
- #[inline]
- fn enabled(&self, _metadata: &log::Metadata) -> bool {
- true
- }
- #[inline]
- fn log(&self, record: &log::Record) {
- let color_code: u8 = match record.level() {
- Level::Error => 31,
- Level::Warn => 93,
- Level::Info => 32,
- Level::Debug => 36,
- Level::Trace => 90,
- };
- println!(
- "\x1b[1;37m[RustSBI] \x1b[1;{color_code}m{:^5}\x1b[0m - {}",
- record.level(),
- record.args(),
- );
- }
- fn flush(&self) {}
- }
|