From d0129b3bef488ea910cdf1233eb31dba983c0464 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Sun, 19 Jun 2022 01:30:57 +1000 Subject: [PATCH] Print `Error` & `Warn` msg to stderr in `UIThreadLogger` Signed-off-by: Jiahao XU --- src/helpers/ui_thread_logger.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/helpers/ui_thread_logger.rs b/src/helpers/ui_thread_logger.rs index 8eb44604..bf0700ad 100644 --- a/src/helpers/ui_thread_logger.rs +++ b/src/helpers/ui_thread_logger.rs @@ -3,7 +3,7 @@ use std::fmt::Write; use std::sync::mpsc::SyncSender; use bytes::BytesMut; -use log::{set_boxed_logger, set_max_level, LevelFilter, Log, Metadata, Record}; +use log::{set_boxed_logger, set_max_level, Level, LevelFilter, Log, Metadata, Record}; use super::ui_thread::UIRequest; @@ -48,7 +48,9 @@ impl Log for UIThreadLogger { fn log(&self, record: &Record<'_>) { let target = record.target(); - if self.enabled(record.metadata()) + let metadata = record.metadata(); + + if self.enabled(metadata) && !self .filter_ignore .iter() @@ -64,7 +66,12 @@ impl Log for UIThreadLogger { output }); - self.tx.send(UIRequest::PrintToStdout(output)).unwrap() + let request_builder = match metadata.level() { + Level::Error | Level::Warn => UIRequest::PrintToStderr, + _ => UIRequest::PrintToStdout, + }; + + self.tx.send(request_builder(output)).unwrap() } }