discv5_cli/utils/
logging.rs1use clap::ValueEnum;
2
3#[derive(ValueEnum, Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
5pub enum LogLevel {
6 Trace,
8 Debug,
10 Info,
12 Warn,
14 Error,
16}
17
18impl From<LogLevel> for log::LevelFilter {
19 fn from(level: LogLevel) -> Self {
20 match level {
21 LogLevel::Trace => log::LevelFilter::Trace,
22 LogLevel::Debug => log::LevelFilter::Debug,
23 LogLevel::Info => log::LevelFilter::Info,
24 LogLevel::Warn => log::LevelFilter::Warn,
25 LogLevel::Error => log::LevelFilter::Error,
26 }
27 }
28}
29
30pub fn construct_simple_logger(level: LogLevel) {
32 if simple_logger::SimpleLogger::new()
34 .with_level(level.into())
35 .with_utc_timestamps()
36 .init()
37 .is_err()
38 {
39 log::error!("Failed to initialize logger. Please try again.");
40 }
41}