Log dependency warnings/errors at trace level
Fixes #5387.
This commit is contained in:
parent
fd0fe967a3
commit
d5c66ceeac
|
@ -13,7 +13,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use std::sync::{Arc, Mutex};
|
use std::sync::{Arc, Mutex};
|
||||||
|
|
||||||
use glutin::event_loop::EventLoopProxy;
|
use glutin::event_loop::EventLoopProxy;
|
||||||
use log::{self, Level};
|
use log::{self, Level, LevelFilter};
|
||||||
|
|
||||||
use crate::cli::Options;
|
use crate::cli::Options;
|
||||||
use crate::event::Event;
|
use crate::event::Event;
|
||||||
|
@ -102,8 +102,8 @@ impl log::Log for Logger {
|
||||||
let index = record.target().find(':').unwrap_or_else(|| record.target().len());
|
let index = record.target().find(':').unwrap_or_else(|| record.target().len());
|
||||||
let target = &record.target()[..index];
|
let target = &record.target()[..index];
|
||||||
|
|
||||||
// Only log our own crates.
|
// Only log our own crates, except when logging at Level::Trace.
|
||||||
if !self.enabled(record.metadata()) || !ALLOWED_TARGETS.contains(&target) {
|
if !self.enabled(record.metadata()) || !is_allowed_target(record.level(), target) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,6 +149,14 @@ fn create_log_message(record: &log::Record<'_>, target: &str) -> String {
|
||||||
message
|
message
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Check if log messages from a crate should be logged.
|
||||||
|
fn is_allowed_target(level: Level, target: &str) -> bool {
|
||||||
|
match (level, log::max_level()) {
|
||||||
|
(Level::Error, LevelFilter::Trace) | (Level::Warn, LevelFilter::Trace) => true,
|
||||||
|
_ => ALLOWED_TARGETS.contains(&target),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct OnDemandLogFile {
|
struct OnDemandLogFile {
|
||||||
file: Option<LineWriter<File>>,
|
file: Option<LineWriter<File>>,
|
||||||
created: Arc<AtomicBool>,
|
created: Arc<AtomicBool>,
|
||||||
|
|
Loading…
Reference in New Issue