summaryrefslogtreecommitdiffstats
path: root/src/args.rs
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2018-02-03 21:31:28 -0500
committerAndrew Gallant <jamslam@gmail.com>2018-02-04 10:40:20 -0500
commit35350470942920574e58170c1ab9d419f68af6da (patch)
tree2a791159591e4ff98463213604f4f08121ff4acb /src/args.rs
parentfe0025549418822c1711886bf136660845e8f433 (diff)
logger: drop env_logger
This commit updates the `log` crate to 0.4 and drops the dependency on env_logger. In particular, the latest version of env_logger brings in additional non-optional dependencies such as chrono that I don't think is worth including into ripgrep. It turns out ripgrep doesn't need any fancy logging. We just need a concept of log levels and the ability to print to stderr. Therefore, we just roll our own super simple logger. This update is motivated by the persistent configuration task. In particular, we need the ability to toggle the global log level more than once, and this doesn't appear to be possible with older versions of the log crate.
Diffstat (limited to 'src/args.rs')
-rw-r--r--src/args.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/args.rs b/src/args.rs
index a0c1d7db..f544db49 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -10,7 +10,6 @@ use std::sync::atomic::{AtomicBool, Ordering};
use clap;
use encoding_rs::Encoding;
-use env_logger;
use grep::{Grep, GrepBuilder, Error as GrepError};
use log;
use num_cpus;
@@ -27,6 +26,7 @@ use printer::{ColorSpecs, Printer};
use unescape::unescape;
use worker::{Worker, WorkerBuilder};
+use logger::Logger;
use Result;
/// `Args` are transformed/normalized from `ArgMatches`.
@@ -91,14 +91,13 @@ impl Args {
pub fn parse() -> Result<Args> {
let matches = app::app().get_matches();
- let mut logb = env_logger::LogBuilder::new();
+ if let Err(err) = Logger::init() {
+ errored!("failed to initialize logger: {}", err);
+ }
if matches.is_present("debug") {
- logb.filter(None, log::LogLevelFilter::Debug);
+ log::set_max_level(log::LevelFilter::Debug);
} else {
- logb.filter(None, log::LogLevelFilter::Warn);
- }
- if let Err(err) = logb.init() {
- errored!("failed to initialize logger: {}", err);
+ log::set_max_level(log::LevelFilter::Warn);
}
ArgMatches(matches).to_args()
}