No need for LogLevel

This commit is contained in:
James Wilson
2021-07-01 15:59:41 +01:00
parent 6e4756ecc0
commit ea98b15def
4 changed files with 6 additions and 47 deletions
-2
View File
@@ -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;
-37
View File
@@ -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<Self, Self::Err> {
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,
}
}
}
+3 -4
View File
@@ -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");
+3 -4
View File
@@ -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");