From e45dd1d9c0b6156a80fc0818f8c9752ffcc26ca5 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 31 Jul 2026 05:37:32 +0200 Subject: [PATCH] Improved logging --- src/engine/engine/strategy.rs | 2 -- src/engine/engine/terminal.rs | 46 ++++++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/engine/engine/strategy.rs b/src/engine/engine/strategy.rs index b617edb..b79e26e 100644 --- a/src/engine/engine/strategy.rs +++ b/src/engine/engine/strategy.rs @@ -166,8 +166,6 @@ impl StrategyEngine { .unwrap() .as_millis() as u64; - println!("getting candlestick"); - let interval_ms = match interval { CandleInterval::OneMinute => 60_000, CandleInterval::ThreeMinutes => 3 * 60_000, diff --git a/src/engine/engine/terminal.rs b/src/engine/engine/terminal.rs index c6fc2d0..3954662 100644 --- a/src/engine/engine/terminal.rs +++ b/src/engine/engine/terminal.rs @@ -45,7 +45,11 @@ impl TerminalServer { let listener = UnixListener::bind(&path)?; - println!("Terminal server listening on {:?}", path); + self.info( + "engine::terminal", + &format!("Terminal server listening on {:?}", path), + ) + .await?; loop { let (stream, _) = listener.accept().await?; @@ -60,7 +64,13 @@ impl TerminalServer { tokio::spawn(async move { if let Err(err) = s.handle_client(&id, reader).await { - eprintln!("Terminal connection error: {err}"); + s.error( + "engine::terminal", + &format!("Terminal connection error: {err}"), + ) + .await + } else { + Ok(()) } }); } @@ -142,7 +152,12 @@ impl TerminalServer { for (id, client) in clients.iter_mut() { if let Err(e) = Self::send_to_client(client, &msg).await { remove_clients.push(*id); - println!("{e:?}"); + + self.print_log(&EventLog { + kind: LogKind::Err, + name: "engine::terminal".to_string(), + message: format!("Failed to broadcast to client: {e}"), + }); } } @@ -259,19 +274,32 @@ impl TerminalServer { name: &str, message: &str, ) -> tokio::io::Result<()> { - let log = EventLog { + self.log_raw(EventLog { kind, name: name.to_string(), message: message.to_string(), - }; + }) + .await + } - self.logs.lock().await.push(log.clone()); - - self.broadcast(pulse_sdk::terminal::TerminalServerMessage::AddLog(log)) - .await + pub fn print_log(self: &Arc, log: &EventLog) { + println!( + "[{}{}\x1b[0m] (\x1b[37m{}\x1b[0m) {}", + match &log.kind { + LogKind::Info => "\x1b[34m", + LogKind::Debug => "\x1b[36m", + LogKind::Err => "\x1b[31m", + LogKind::Warn => "\x1b[33m", + }, + log.kind, + log.name, + log.message + ); } pub async fn log_raw(self: &Arc, log: EventLog) -> tokio::io::Result<()> { + self.print_log(&log); + self.logs.lock().await.push(log.clone()); self.broadcast(pulse_sdk::terminal::TerminalServerMessage::AddLog(log))