use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Serialize, Deserialize)]
pub enum LogLevel {
Off,
Error,
Warn,
Info,
Debug,
Trace,
}
impl LogLevel {
pub fn new(level_filter: log::LevelFilter) -> Self {
match level_filter {
log::LevelFilter::Off => LogLevel::Off,
log::LevelFilter::Error => LogLevel::Error,
log::LevelFilter::Warn => LogLevel::Warn,
log::LevelFilter::Info => LogLevel::Info,
log::LevelFilter::Debug => LogLevel::Debug,
log::LevelFilter::Trace => LogLevel::Trace,
}
}
pub fn level_filter(&self) -> log::LevelFilter {
match self {
LogLevel::Off => log::LevelFilter::Off,
LogLevel::Error => log::LevelFilter::Error,
LogLevel::Warn => log::LevelFilter::Warn,
LogLevel::Info => log::LevelFilter::Info,
LogLevel::Debug => log::LevelFilter::Debug,
LogLevel::Trace => log::LevelFilter::Trace,
}
}
}
impl Default for LogLevel {
fn default() -> Self {
LogLevel::Debug
}
}