diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-10-18 02:14:39 +0200 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-10-18 02:14:39 +0200 |
| commit | cf25e7862e2b44c84e2c1bb0bfc3106c44d5aade (patch) | |
| tree | bce9478a5b2a9bacf369ff57c3c536ce37ddcfff | |
| parent | f30b372d5c08d3c30c4b5ab02c11d236cac804e6 (diff) | |
| parent | 2c87ed814f27ef8d58a4260be79710ed85c28bfe (diff) | |
| download | mum-cf25e7862e2b44c84e2c1bb0bfc3106c44d5aade.tar.gz | |
Merge remote-tracking branch 'origin/file-logging' into main
| -rw-r--r-- | mumctl/src/main.rs | 2 | ||||
| -rw-r--r-- | mumd/src/main.rs | 2 | ||||
| -rw-r--r-- | mumlib/src/lib.rs | 28 |
3 files changed, 21 insertions, 11 deletions
diff --git a/mumctl/src/main.rs b/mumctl/src/main.rs index 8237765..5b19309 100644 --- a/mumctl/src/main.rs +++ b/mumctl/src/main.rs @@ -17,7 +17,7 @@ macro_rules! err_print { } fn main() { - setup_logger(); + setup_logger(io::stderr(), true); let mut app = App::new("mumctl") .setting(AppSettings::ArgRequiredElseHelp) diff --git a/mumd/src/main.rs b/mumd/src/main.rs index 2973157..75726f8 100644 --- a/mumd/src/main.rs +++ b/mumd/src/main.rs @@ -21,7 +21,7 @@ use tokio::task::spawn_blocking; #[tokio::main] async fn main() { - setup_logger(); + setup_logger(std::io::stderr(), true); // Oneshot channel for setting UDP CryptState from control task // For simplicity we don't deal with re-syncing, real applications would have to. diff --git a/mumlib/src/lib.rs b/mumlib/src/lib.rs index 5a51f37..b26db13 100644 --- a/mumlib/src/lib.rs +++ b/mumlib/src/lib.rs @@ -7,19 +7,29 @@ use log::*; pub const SOCKET_PATH: &str = "/var/tmp/mumd"; -pub fn setup_logger() { +pub fn setup_logger<T: Into<fern::Output>>(target: T, color: bool) { fern::Dispatch::new() - .format(|out, message, record| { + .format(move |out, message, record| { let message = message.to_string(); out.finish(format_args!( "{} {}:{}{}{}", //TODO runtime flag that disables color - match record.level() { - Level::Error => "ERROR".red(), - Level::Warn => "WARN ".yellow(), - Level::Info => "INFO ".normal(), - Level::Debug => "DEBUG".green(), - Level::Trace => "TRACE".normal(), + if color { + match record.level() { + Level::Error => "ERROR".red(), + Level::Warn => "WARN ".yellow(), + Level::Info => "INFO ".normal(), + Level::Debug => "DEBUG".green(), + Level::Trace => "TRACE".normal(), + } + } else { + match record.level() { + Level::Error => "ERROR", + Level::Warn => "WARN ", + Level::Info => "INFO ", + Level::Debug => "DEBUG", + Level::Trace => "TRACE", + }.normal() }, record.file().unwrap(), record.line().unwrap(), @@ -32,7 +42,7 @@ pub fn setup_logger() { )) }) .level(log::LevelFilter::Debug) - .chain(std::io::stderr()) + .chain(target.into()) .apply() .unwrap(); } |
