summaryrefslogtreecommitdiff
path: root/cli/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/main.rs')
-rw-r--r--cli/main.rs56
1 files changed, 23 insertions, 33 deletions
diff --git a/cli/main.rs b/cli/main.rs
index d6b74d8a2..574ba9ed2 100644
--- a/cli/main.rs
+++ b/cli/main.rs
@@ -91,8 +91,6 @@ use flags::Flags;
use futures::future::FutureExt;
use futures::Future;
use log::Level;
-use log::Metadata;
-use log::Record;
use state::exit_unstable;
use std::env;
use std::io::Read;
@@ -104,35 +102,6 @@ use std::sync::Arc;
use upgrade::upgrade_command;
use url::Url;
-static LOGGER: Logger = Logger;
-
-// TODO(ry) Switch to env_logger or other standard crate.
-struct Logger;
-
-impl log::Log for Logger {
- fn enabled(&self, metadata: &Metadata) -> bool {
- metadata.level() <= log::max_level()
- }
-
- fn log(&self, record: &Record) {
- if self.enabled(record.metadata()) {
- let mut target = record.target().to_string();
-
- if let Some(line_no) = record.line() {
- target.push_str(":");
- target.push_str(&line_no.to_string());
- }
-
- if record.level() >= Level::Info {
- eprintln!("{}", record.args());
- } else {
- eprintln!("{} RS - {} - {}", record.level(), target, record.args());
- }
- }
- }
- fn flush(&self) {}
-}
-
fn write_to_stdout_ignore_sigpipe(bytes: &[u8]) -> Result<(), std::io::Error> {
use std::io::ErrorKind;
@@ -705,7 +674,6 @@ pub fn main() {
#[cfg(windows)]
colors::enable_ansi(); // For Windows 10
- log::set_logger(&LOGGER).unwrap();
let args: Vec<String> = env::args().collect();
let flags = flags::flags_from_vec(args);
@@ -737,7 +705,29 @@ pub fn main() {
Some(level) => level,
None => Level::Info, // Default log level
};
- log::set_max_level(log_level.to_level_filter());
+ env_logger::Builder::from_env(
+ env_logger::Env::default()
+ .default_filter_or(log_level.to_level_filter().to_string()),
+ )
+ .format(|buf, record| {
+ let mut target = record.target().to_string();
+ if let Some(line_no) = record.line() {
+ target.push_str(":");
+ target.push_str(&line_no.to_string());
+ }
+ if record.level() >= Level::Info {
+ writeln!(buf, "{}", record.args())
+ } else {
+ writeln!(
+ buf,
+ "{} RS - {} - {}",
+ record.level(),
+ target,
+ record.args()
+ )
+ }
+ })
+ .init();
let fut = match flags.clone().subcommand {
DenoSubcommand::Bundle {