gadget_common/
debug_logger.rs

1use std::fmt::Display;
2
3#[derive(Clone, Default)]
4pub struct DebugLogger {
5    pub id: String,
6}
7
8impl DebugLogger {
9    pub fn trace<T: Display>(&self, msg: T) {
10        if self.id.is_empty() {
11            log::trace!(target: "gadget", "{msg}");
12            return;
13        }
14        log::trace!(target: "gadget", "[{}] {msg}", &self.id);
15    }
16
17    pub fn debug<T: Display>(&self, msg: T) {
18        if self.id.is_empty() {
19            log::debug!(target: "gadget", "{msg}");
20            return;
21        }
22        log::debug!(target: "gadget", "[{}] {msg}", &self.id);
23    }
24
25    pub fn info<T: Display>(&self, msg: T) {
26        if self.id.is_empty() {
27            log::info!(target: "gadget", "{msg}");
28            return;
29        }
30        log::info!(target: "gadget", "[{}] {msg}", &self.id);
31    }
32
33    pub fn warn<T: Display>(&self, msg: T) {
34        if self.id.is_empty() {
35            log::warn!(target: "gadget", "{msg}");
36            return;
37        }
38        log::warn!(target: "gadget", "[{}] {msg}", &self.id);
39    }
40
41    pub fn error<T: Display>(&self, msg: T) {
42        if self.id.is_empty() {
43            log::error!(target: "gadget", "{msg}");
44            return;
45        }
46        log::error!(target: "gadget", "[{}] {msg}", &self.id);
47    }
48}