Skip to main content

memlink_msdk/
log.rs

1//! Structured logging for memlink modules, exporting logs to the daemon for aggregation.
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
4pub enum Level {
5    Debug,
6    Info,
7    Warn,
8    Error,
9}
10
11impl Level {
12    pub fn as_str(&self) -> &'static str {
13        match self {
14            Level::Debug => "DEBUG",
15            Level::Info => "INFO",
16            Level::Warn => "WARN",
17            Level::Error => "ERROR",
18        }
19    }
20}
21
22pub fn log(_level: Level, _message: &str, _fields: &[(&str, &str)]) {}
23
24pub fn debug(message: &str, fields: &[(&str, &str)]) {
25    log(Level::Debug, message, fields);
26}
27
28pub fn info(message: &str, fields: &[(&str, &str)]) {
29    log(Level::Info, message, fields);
30}
31
32pub fn warn(message: &str, fields: &[(&str, &str)]) {
33    log(Level::Warn, message, fields);
34}
35
36pub fn error(message: &str, fields: &[(&str, &str)]) {
37    log(Level::Error, message, fields);
38}