Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
logger: Respect config file log level
✓ CI success Daniel Norman committed 1 day ago
commit 6b460c44298afad6599b223e48bdaa3c7f3ad5cc
parent 9177146794c189d3783d93d383356802e759269b
1 passed (1 total) View logs
4 files changed +29 -16
modified crates/radicle-cli/src/main.rs
@@ -138,7 +138,7 @@ fn main() {
    }

    if let Some(lvl) = radicle::logger::env_level() {
-
        let logger = Box::new(radicle::logger::Logger::new(lvl));
+
        let logger = Box::new(radicle::logger::Logger::new());
        log::set_boxed_logger(logger).expect("no other logger should have been set already");
        log::set_max_level(lvl.to_level_filter());
    }
modified crates/radicle-node/src/main.rs
@@ -376,7 +376,12 @@ fn initialize_logging(options: &LogOptions) -> Result<(), Box<dyn std::error::Er
                    LogFormat::Json => json::new_writer(io::stdout()),
                };

-
                Box::new(Builder::new().with_default_writer(writer).build())
+
                // Set to trace (via `Level::max`) and defer to log::set_max_level for filtering
+
                Box::new(
+
                    Builder::with_level(log::Level::max().as_str())
+
                        .with_default_writer(writer)
+
                        .build(),
+
                )
            }
            #[cfg(all(feature = "systemd", target_os = "linux"))]
            Logger::Systemd => {
@@ -398,7 +403,7 @@ fn initialize_logging(options: &LogOptions) -> Result<(), Box<dyn std::error::Er
                const SYSLOG_IDENTIFIER: &str = "radicle-node";
                logger::<&str, &str, _>(SYSLOG_IDENTIFIER.to_string(), []).map_err(Box::new)?
            }
-
            Logger::Radicle => Box::new(radicle::logger::Logger::new(level)),
+
            Logger::Radicle => Box::new(radicle::logger::Logger::new()),
        }
    };

modified crates/radicle-remote-helper/src/main.rs
@@ -52,7 +52,7 @@ fn main() {
    let mut args = env::args();

    if let Some(lvl) = radicle::logger::env_level() {
-
        let logger = radicle::logger::StderrLogger::new(lvl);
+
        let logger = radicle::logger::StderrLogger::new();
        log::set_boxed_logger(Box::new(logger))
            .expect("no other logger should have been set already");
        log::set_max_level(lvl.to_level_filter());
modified crates/radicle/src/logger.rs
@@ -13,19 +13,23 @@ use colored::*;
use log::{Level, Log, Metadata, Record};

/// A logger that logs to `stdout`.
-
pub struct Logger {
-
    level: Level,
-
}
+
pub struct Logger;

impl Logger {
-
    pub fn new(level: Level) -> Self {
-
        Self { level }
+
    pub fn new() -> Self {
+
        Self
+
    }
+
}
+

+
impl Default for Logger {
+
    fn default() -> Self {
+
        Self::new()
    }
}

impl Log for Logger {
    fn enabled(&self, metadata: &Metadata) -> bool {
-
        metadata.level() <= self.level
+
        metadata.level() <= log::max_level()
    }

    fn log(&self, record: &Record) {
@@ -60,19 +64,23 @@ impl Log for Logger {
}

/// A logger that logs to `stderr`.
-
pub struct StderrLogger {
-
    level: Level,
-
}
+
pub struct StderrLogger;

impl StderrLogger {
-
    pub fn new(level: Level) -> Self {
-
        Self { level }
+
    pub fn new() -> Self {
+
        Self
+
    }
+
}
+

+
impl Default for StderrLogger {
+
    fn default() -> Self {
+
        Self::new()
    }
}

impl Log for StderrLogger {
    fn enabled(&self, metadata: &Metadata) -> bool {
-
        metadata.level() <= self.level
+
        metadata.level() <= log::max_level()
    }

    fn log(&self, record: &Record) {