eigen_logging/
logger.rs

1use std::fmt::Debug;
2use std::sync::Arc;
3
4pub type SharedLogger = Arc<dyn Logger>;
5
6pub fn tags_as_debug<'a>(tags: &'a [&'a str]) -> Vec<&'a dyn Debug> {
7    tags.iter().map(|tag| tag as &dyn Debug).collect()
8}
9
10pub trait Logger: Debug + Send + Sync {
11    fn debug(&self, msg: &str, args: &str);
12    fn info(&self, msg: &str, args: &str);
13    fn warn(&self, msg: &str, args: &str);
14    fn error(&self, msg: &str, args: &str);
15    fn fatal(&self, msg: &str, args: &str);
16    fn log(&self, msg: &str, args: &str);
17}