Skip to content

Commit 2b3a067

Browse files
committed
[rust] Read RUST_LOG env (env_logger) to ease debugging in selenium-manager
1 parent 56ac72a commit 2b3a067

File tree

1 file changed

+33
-27
lines changed

1 file changed

+33
-27
lines changed

rust/src/logger.rs

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
use crate::metadata::now_unix_timestamp;
1919
use env_logger::fmt::Color;
2020
use env_logger::Target::Stdout;
21+
use env_logger::DEFAULT_FILTER_ENV;
2122
use log::Level;
2223
use log::LevelFilter::{Debug, Info, Trace};
2324
use serde::{Deserialize, Serialize};
2425
use std::cell::RefCell;
26+
use std::env;
2527
use std::io::Write;
2628
use std::ops::Deref;
2729
use Color::{Blue, Cyan, Green, Red, Yellow};
@@ -74,34 +76,38 @@ impl Logger {
7476
}
7577
match output_type {
7678
OutputType::Logger => {
77-
let mut filter = match debug {
78-
true => Debug,
79-
false => Info,
80-
};
81-
if trace {
82-
filter = Trace
79+
if env::var(DEFAULT_FILTER_ENV).unwrap_or_default().is_empty() {
80+
let mut filter = match debug {
81+
true => Debug,
82+
false => Info,
83+
};
84+
if trace {
85+
filter = Trace
86+
}
87+
env_logger::Builder::new()
88+
.filter_module(env!("CARGO_CRATE_NAME"), filter)
89+
.target(Stdout)
90+
.format(|buf, record| {
91+
let mut level_style = buf.style();
92+
match record.level() {
93+
Level::Trace => level_style.set_color(Cyan),
94+
Level::Debug => level_style.set_color(Blue),
95+
Level::Info => level_style.set_color(Green),
96+
Level::Warn => level_style.set_color(Yellow),
97+
Level::Error => level_style.set_color(Red).set_bold(true),
98+
};
99+
writeln!(
100+
buf,
101+
"{}\t{}",
102+
level_style.value(record.level()),
103+
record.args()
104+
)
105+
})
106+
.try_init()
107+
.unwrap_or_default();
108+
} else {
109+
env_logger::try_init().unwrap_or_default();
83110
}
84-
env_logger::Builder::new()
85-
.filter_module(env!("CARGO_CRATE_NAME"), filter)
86-
.target(Stdout)
87-
.format(|buf, record| {
88-
let mut level_style = buf.style();
89-
match record.level() {
90-
Level::Trace => level_style.set_color(Cyan),
91-
Level::Debug => level_style.set_color(Blue),
92-
Level::Info => level_style.set_color(Green),
93-
Level::Warn => level_style.set_color(Yellow),
94-
Level::Error => level_style.set_color(Red).set_bold(true),
95-
};
96-
writeln!(
97-
buf,
98-
"{}\t{}",
99-
level_style.value(record.level()),
100-
record.args()
101-
)
102-
})
103-
.try_init()
104-
.unwrap_or_default();
105111
}
106112
_ => {
107113
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))

0 commit comments

Comments
 (0)