Better logging.
This commit is contained in:
31
src/main.rs
31
src/main.rs
@@ -1,5 +1,6 @@
|
||||
use std::process::Command;
|
||||
|
||||
use fern::colors::{Color, ColoredLevelConfig};
|
||||
use structopt::StructOpt;
|
||||
|
||||
mod context;
|
||||
@@ -11,6 +12,9 @@ use crate::probe::*;
|
||||
#[derive(Debug, StructOpt)]
|
||||
#[structopt(name = "whoareyou", about = "Search for swedish phone numbers.")]
|
||||
struct Opt {
|
||||
#[structopt(short = "v", parse(from_occurrences))]
|
||||
verbose: u8,
|
||||
|
||||
#[structopt(short = "o", long = "open")]
|
||||
open: bool,
|
||||
|
||||
@@ -20,25 +24,38 @@ struct Opt {
|
||||
fn main() {
|
||||
let opt = Opt::from_args();
|
||||
|
||||
fern::Dispatch::new()
|
||||
.format(|out, message, record| {
|
||||
let colors = ColoredLevelConfig::new()
|
||||
.error(Color::Red)
|
||||
.warn(Color::Yellow)
|
||||
.info(Color::White)
|
||||
.debug(Color::White)
|
||||
.trace(Color::BrightBlack);
|
||||
|
||||
let mut config = fern::Dispatch::new()
|
||||
.format(move |out, message, record| {
|
||||
out.finish(format_args!(
|
||||
"{}[{}][{}] {}",
|
||||
chrono::Local::now().format("[%Y-%m-%d %H:%M:%S]"),
|
||||
record.target(),
|
||||
record.level(),
|
||||
colors.color(record.level()),
|
||||
message
|
||||
))
|
||||
})
|
||||
.level(log::LevelFilter::Off)
|
||||
.level_for("reqwest", log::LevelFilter::Off)
|
||||
.level_for("hyper", log::LevelFilter::Off)
|
||||
.level_for("tokio_reactor", log::LevelFilter::Off)
|
||||
.level_for("html5ever", log::LevelFilter::Off)
|
||||
.level_for("selectors", log::LevelFilter::Off)
|
||||
.chain(std::io::stdout())
|
||||
.apply()
|
||||
.expect("failed to init fern");
|
||||
.chain(std::io::stdout());
|
||||
|
||||
config = match opt.verbose {
|
||||
0 => config.level(log::LevelFilter::Info),
|
||||
1 => config.level(log::LevelFilter::Debug),
|
||||
2 => config.level(log::LevelFilter::Debug),
|
||||
_ => config.level(log::LevelFilter::Trace),
|
||||
};
|
||||
|
||||
config.apply().expect("failed to init fern");
|
||||
|
||||
let mut probes: Vec<Box<Probe>> = vec![
|
||||
Box::new(Eniro),
|
||||
|
||||
Reference in New Issue
Block a user