chiark / gitweb /
syslog: prep for printing level: Move max level handling
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 24 Sep 2022 18:07:27 +0000 (19:07 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 25 Sep 2022 11:07:08 +0000 (12:07 +0100)
We're going to want to add a note to every message.  It makes sense to
use the same wrapper struct and give it more of the functionality.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/reporter.rs

index 0fdecd08592ea9eb0086ff90f6895c726ec89526..f4ab447e056936bffe75048d4f1e3f16c5c3f41b 100644 (file)
@@ -42,6 +42,14 @@ impl<T> LogWrapper<T> {
     };
     self.debug >= 2 || first(md.target()) == first(module_path!())
   }
+
+  fn set_max_level(&self) {
+    log::set_max_level(if self.debug < 1 {
+      log::LevelFilter::Debug
+    } else {
+      log::LevelFilter::Trace
+    });
+  }
 }
 
 impl<T> log::Log for LogWrapper<T> where T: log::Log {
@@ -77,13 +85,9 @@ impl LogOpts {
         .context("set up syslog logger")?;
       let l = syslog::BasicLogger::new(l);
       let l = LogWrapper { output: l, debug: self.debug };
+      l.set_max_level();
       let l = Box::new(l) as _;
       log::set_boxed_logger(l).context("install syslog logger")?;
-      log::set_max_level(if self.debug < 1 {
-        log::LevelFilter::Debug
-      } else {
-        log::LevelFilter::Trace
-      });
     } else {
       let env = env_logger::Env::new()
         .filter("HIPPOTAT_LOG")