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}