vibe_ready/log/
log_level.rs1use serde::{Deserialize, Serialize};
2
3#[repr(i32)]
4#[derive(Copy, Clone, Debug, Deserialize, PartialEq, Serialize, Eq, PartialOrd, Default)]
5pub enum LogLevel {
7 None = 0,
9 Error = 1,
11 Warn = 2,
13 #[default]
15 Info = 3,
16 Debug = 4,
18}
19
20impl From<LogLevel> for i32 {
21 fn from(val: LogLevel) -> Self {
22 val as i32
23 }
24}
25
26impl From<i32> for LogLevel {
27 fn from(value: i32) -> Self {
28 if value == 0 {
29 LogLevel::None
30 } else if value == 1 {
31 LogLevel::Error
32 } else if value == 2 {
33 LogLevel::Warn
34 } else if value == 3 {
35 LogLevel::Info
36 } else if value == 4 {
37 LogLevel::Debug
38 } else {
39 LogLevel::None
40 }
41 }
42}
43
44#[cfg(test)]
45mod strict_tests {
46 use super::*;
47 include!(concat!(
48 env!("CARGO_MANIFEST_DIR"),
49 "/test/unit/log/log_level_tests.rs"
50 ));
51}