diff --git a/backend/common/src/lib.rs b/backend/common/src/lib.rs index 6d09ed2..94f2f24 100644 --- a/backend/common/src/lib.rs +++ b/backend/common/src/lib.rs @@ -6,7 +6,6 @@ pub mod time; mod assign_id; mod dense_map; -mod log_level; mod mean_list; mod most_seen; mod num_stats; @@ -14,7 +13,6 @@ mod num_stats; // Export a bunch of common bits at the top level for ease of import: pub use assign_id::AssignId; pub use dense_map::DenseMap; -pub use log_level::LogLevel; pub use mean_list::MeanList; pub use most_seen::MostSeen; pub use num_stats::NumStats; diff --git a/backend/common/src/log_level.rs b/backend/common/src/log_level.rs deleted file mode 100644 index dc4c43b..0000000 --- a/backend/common/src/log_level.rs +++ /dev/null @@ -1,37 +0,0 @@ -/// A log level that can be decoded from a string (and so can be used -/// as a CLI argument by things like StructOpt). It can be converted into -/// a [`log::LevelFilter`] for passing into logging systems. -#[derive(Debug, PartialEq)] -pub enum LogLevel { - Error, - Warn, - Info, - Debug, - Trace, -} - -impl std::str::FromStr for LogLevel { - type Err = &'static str; - fn from_str(s: &str) -> Result { - match s { - "error" => Ok(LogLevel::Error), - "warn" => Ok(LogLevel::Warn), - "info" => Ok(LogLevel::Info), - "debug" => Ok(LogLevel::Debug), - "trace" => Ok(LogLevel::Trace), - _ => Err("expected 'error', 'warn', 'info', 'debug' or 'trace'"), - } - } -} - -impl From<&LogLevel> for log::LevelFilter { - fn from(log_level: &LogLevel) -> Self { - match log_level { - LogLevel::Error => log::LevelFilter::Error, - LogLevel::Warn => log::LevelFilter::Warn, - LogLevel::Info => log::LevelFilter::Info, - LogLevel::Debug => log::LevelFilter::Debug, - LogLevel::Trace => log::LevelFilter::Trace, - } - } -} diff --git a/backend/shard/src/main.rs b/backend/shard/src/main.rs index 6073566..16d01a6 100644 --- a/backend/shard/src/main.rs +++ b/backend/shard/src/main.rs @@ -6,7 +6,7 @@ mod real_ip; use std::net::IpAddr; use aggregator::{Aggregator, FromWebsocket}; -use common::{node_message, LogLevel}; +use common::node_message; use futures::{channel::mpsc, SinkExt, StreamExt}; use http::Uri; use real_ip::real_ip; @@ -32,7 +32,7 @@ struct Opts { /// The desired log level; one of 'error', 'warn', 'info', 'debug' or 'trace', where /// 'error' only logs errors and 'trace' logs everything. #[structopt(required = false, long = "log", default_value = "info")] - log_level: LogLevel, + log_level: log::LevelFilter, /// Url to the Backend Core endpoint accepting shard connections #[structopt( short = "c", @@ -45,10 +45,9 @@ struct Opts { #[tokio::main] async fn main() { let opts = Opts::from_args(); - let log_level = &opts.log_level; SimpleLogger::new() - .with_level(log_level.into()) + .with_level(opts.log_level) .init() .expect("Must be able to start a logger"); diff --git a/backend/telemetry/src/main.rs b/backend/telemetry/src/main.rs index aeefd4e..e9e5926 100644 --- a/backend/telemetry/src/main.rs +++ b/backend/telemetry/src/main.rs @@ -10,7 +10,7 @@ use aggregator::{ Aggregator, FromFeedWebsocket, FromShardWebsocket, ToFeedWebsocket, ToShardWebsocket, }; use bincode::Options; -use common::{internal_messages, LogLevel}; +use common::internal_messages; use futures::{channel::mpsc, SinkExt, StreamExt}; use simple_logger::SimpleLogger; use structopt::StructOpt; @@ -34,7 +34,7 @@ struct Opts { /// The desired log level; one of 'error', 'warn', 'info', 'debug' or 'trace', where /// 'error' only logs errors and 'trace' logs everything. #[structopt(required = false, long = "log", default_value = "info")] - log_level: LogLevel, + log_level: log::LevelFilter, /// Space delimited list of the names of chains that are not allowed to connect to /// telemetry. Case sensitive. #[structopt(required = false, long = "denylist")] @@ -44,10 +44,9 @@ struct Opts { #[tokio::main] async fn main() { let opts = Opts::from_args(); - let log_level = &opts.log_level; SimpleLogger::new() - .with_level(log_level.into()) + .with_level(opts.log_level) .init() .expect("Must be able to start a logger");