mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 18:11:10 +00:00
Set max log level when changing the log directives via RPC (#8721)
Before this pr changing the log directives would not change the max log level. This means that if the node was started with `info` logging and some `trace` logging was enabled, this `trace` wouldn't be logged. To fix this we also need to update the max log level. This max log level is used by the log macros to early return.
This commit is contained in:
@@ -70,6 +70,20 @@ macro_rules! enable_log_reloading {
|
||||
}};
|
||||
}
|
||||
|
||||
/// Convert a `Option<LevelFilter>` to a [`log::LevelFilter`].
|
||||
///
|
||||
/// `None` is interpreted as `Info`.
|
||||
fn to_log_level_filter(level_filter: Option<LevelFilter>) -> log::LevelFilter {
|
||||
match level_filter {
|
||||
Some(LevelFilter::INFO) | None => log::LevelFilter::Info,
|
||||
Some(LevelFilter::TRACE) => log::LevelFilter::Trace,
|
||||
Some(LevelFilter::WARN) => log::LevelFilter::Warn,
|
||||
Some(LevelFilter::ERROR) => log::LevelFilter::Error,
|
||||
Some(LevelFilter::DEBUG) => log::LevelFilter::Debug,
|
||||
Some(LevelFilter::OFF) => log::LevelFilter::Off,
|
||||
}
|
||||
}
|
||||
|
||||
/// Common implementation to get the subscriber.
|
||||
fn prepare_subscriber<N, E, F, W>(
|
||||
directives: &str,
|
||||
@@ -134,15 +148,7 @@ where
|
||||
}
|
||||
|
||||
let max_level_hint = Layer::<FmtSubscriber>::max_level_hint(&env_filter);
|
||||
|
||||
let max_level = match max_level_hint {
|
||||
Some(LevelFilter::INFO) | None => log::LevelFilter::Info,
|
||||
Some(LevelFilter::TRACE) => log::LevelFilter::Trace,
|
||||
Some(LevelFilter::WARN) => log::LevelFilter::Warn,
|
||||
Some(LevelFilter::ERROR) => log::LevelFilter::Error,
|
||||
Some(LevelFilter::DEBUG) => log::LevelFilter::Debug,
|
||||
Some(LevelFilter::OFF) => log::LevelFilter::Off,
|
||||
};
|
||||
let max_level = to_log_level_filter(max_level_hint);
|
||||
|
||||
tracing_log::LogTracer::builder()
|
||||
.with_max_level(max_level)
|
||||
|
||||
Reference in New Issue
Block a user