use crate::protocol::opcode::{LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_VERBOSE, LOG_WARN};
#[repr(u8)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum LogLevel {
Error,
Warn,
Info,
Debug,
Verbose,
}
impl LogLevel {
pub fn as_u8(self) -> u8 {
match self {
LogLevel::Error => LOG_ERROR,
LogLevel::Warn => LOG_WARN,
LogLevel::Info => LOG_INFO,
LogLevel::Debug => LOG_DEBUG,
LogLevel::Verbose => LOG_VERBOSE,
}
}
pub fn from_u8(v: u8) -> Self {
match v {
LOG_ERROR => LogLevel::Error,
LOG_WARN => LogLevel::Warn,
LOG_INFO => LogLevel::Info,
LOG_DEBUG => LogLevel::Debug,
LOG_VERBOSE => LogLevel::Verbose,
_ => LogLevel::Info,
}
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct LogLine {
pub level: LogLevel,
pub text: String,
}