mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-07-03 05:37:28 +00:00
37 lines
1.1 KiB
Rust
37 lines
1.1 KiB
Rust
/// A log level that can be used as an expected argument,
|
|
/// decoded from a string, and converted into a [`log::LevelFilter`]
|
|
#[derive(Debug, PartialEq)]
|
|
pub enum LogLevel {
|
|
Error,
|
|
Warn,
|
|
Info,
|
|
Debug,
|
|
Trace,
|
|
}
|
|
|
|
impl std::str::FromStr for LogLevel {
|
|
type Err = &'static str;
|
|
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
|
match s {
|
|
"error" => Ok(LogLevel::Error),
|
|
"warn" => Ok(LogLevel::Warn),
|
|
"info" => Ok(LogLevel::Info),
|
|
"debug" => Ok(LogLevel::Debug),
|
|
"trace" => Ok(LogLevel::Trace),
|
|
_ => Err("expected 'error', 'warn', 'info', 'debug' or 'trace'"),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl From<&LogLevel> for log::LevelFilter {
|
|
fn from(log_level: &LogLevel) -> Self {
|
|
match log_level {
|
|
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,
|
|
}
|
|
}
|
|
}
|