jlogger_tracing/
level.rs

1use tracing_subscriber::filter::LevelFilter as TraceLevelFilter;
2
3#[derive(Debug, PartialEq, Eq, PartialOrd, Clone, Copy)]
4pub enum LevelFilter {
5    OFF,
6    ERROR,
7    WARN,
8    INFO,
9    DEBUG,
10    TRACE,
11}
12
13impl From<LevelFilter> for TraceLevelFilter {
14    fn from(level: LevelFilter) -> Self {
15        match level {
16            LevelFilter::OFF => TraceLevelFilter::OFF,
17            LevelFilter::ERROR => TraceLevelFilter::ERROR,
18            LevelFilter::WARN => TraceLevelFilter::WARN,
19            LevelFilter::INFO => TraceLevelFilter::INFO,
20            LevelFilter::DEBUG => TraceLevelFilter::DEBUG,
21            LevelFilter::TRACE => TraceLevelFilter::TRACE,
22        }
23    }
24}
25
26impl From<String> for LevelFilter {
27    fn from(s: String) -> Self {
28        match s.as_str() {
29            "off" => LevelFilter::OFF,
30            "error" => LevelFilter::ERROR,
31            "warn" => LevelFilter::WARN,
32            "info" => LevelFilter::INFO,
33            "debug" => LevelFilter::DEBUG,
34            "trace" => LevelFilter::TRACE,
35            _ => LevelFilter::OFF,
36        }
37    }
38}