#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub enum Level {
Trace,
Debug,
Info,
Warn,
Error,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct Event {
pub level: Level,
pub code: &'static str,
pub value: Option<f32>,
}
impl Event {
pub fn new(level: Level, code: &'static str) -> Self {
Self {
level,
code,
value: None,
}
}
pub fn trace(code: &'static str) -> Self {
Self::new(Level::Trace, code)
}
pub fn debug(code: &'static str) -> Self {
Self::new(Level::Debug, code)
}
pub fn info(code: &'static str) -> Self {
Self::new(Level::Info, code)
}
pub fn warn(code: &'static str) -> Self {
Self::new(Level::Warn, code)
}
pub fn error(code: &'static str) -> Self {
Self::new(Level::Error, code)
}
pub fn with_value(mut self, value: f32) -> Self {
self.value = Some(value);
self
}
}