1pub const LEVEL_INFO: i32 = 20;
10pub const LEVEL_WARNING: i32 = 30;
12pub const LEVEL_ERROR: i32 = 40;
14
15#[derive(Debug, Clone, PartialEq)]
17#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
18pub struct LogData {
19 pub gateway_name: String,
21 pub msg: String,
23 pub level: i32,
25}
26
27impl Default for LogData {
28 fn default() -> Self {
30 Self {
31 gateway_name: String::new(),
32 msg: String::new(),
33 level: LEVEL_INFO,
34 }
35 }
36}
37
38impl LogData {
39 pub fn info(gateway_name: &str, msg: impl Into<String>) -> Self {
41 Self {
42 gateway_name: gateway_name.to_string(),
43 msg: msg.into(),
44 level: LEVEL_INFO,
45 }
46 }
47
48 pub fn is_warning_or_above(&self) -> bool {
50 self.level >= LEVEL_WARNING
51 }
52}