32 lines
899 B
Rust
32 lines
899 B
Rust
|
pub struct Logger {
|
||
|
log_level: LogLevel,
|
||
|
}
|
||
|
|
||
|
impl Logger {
|
||
|
pub fn new(log_level: LogLevel) -> Logger {
|
||
|
Logger { log_level }
|
||
|
}
|
||
|
|
||
|
pub fn log<T: Into<String>>(&self, log_level: LogLevel, message: T) {
|
||
|
if self.log_level.clone() as i32 >= log_level.clone() as i32 {
|
||
|
match log_level {
|
||
|
LogLevel::SEVERE => eprintln!("[SEVERE]: {}", message.into()),
|
||
|
LogLevel::INFO => println!("[INFO]: {}", message.into()),
|
||
|
LogLevel::WARNING => eprintln!("[WARNING]: {}", message.into()),
|
||
|
LogLevel::DETAIL => println!("[DETAIL]: {}", message.into()),
|
||
|
LogLevel::DETAILER => println!("[DETAILER]: {}", message.into()),
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[allow(dead_code)]
|
||
|
#[derive(Clone)]
|
||
|
pub enum LogLevel {
|
||
|
SEVERE = 0,
|
||
|
INFO = 1,
|
||
|
WARNING = 2, // Default
|
||
|
DETAIL = 3,
|
||
|
DETAILER = 4,
|
||
|
}
|