simple_log/
lib.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
pub extern crate log;

#[macro_use]
pub mod macros;
#[cfg(feature = "log_inner")]
mod inner;
pub mod level;
mod out_kind;

#[cfg(feature = "log_inner")]
pub use inner::*;

pub use log::Level;
pub use log::LevelFilter;
use serde::{Deserialize, Serialize};

#[cfg(feature = "target")]
pub use simple_log_derive::*;

pub type SimpleResult<T> = Result<T, String>;
pub(crate) type InnerLevel = (LevelFilter, Vec<TargetLevel>);

#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct TargetLevel {
    name: String,
    level: LevelFilter,
}

impl<S> From<(S, LevelFilter)> for TargetLevel
where
    S: AsRef<str>,
{
    fn from(value: (S, LevelFilter)) -> Self {
        Self {
            name: value.0.as_ref().to_string(),
            level: value.1,
        }
    }
}