From 4eb747f8836903f513642c75ef320657a174063e Mon Sep 17 00:00:00 2001 From: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com> Date: Sun, 2 Feb 2025 13:15:54 +0800 Subject: [PATCH] refactor: finally remove all headless logging (#1242) --- crates/tinymist/src/state/project.rs | 11 +++++---- crates/tinymist/src/state/server.rs | 11 +++++---- crates/tinymist/src/task/export.rs | 8 +++---- crates/typst-preview/src/actor/editor.rs | 27 +++++++++++------------ crates/typst-preview/src/actor/webview.rs | 16 ++++++-------- 5 files changed, 34 insertions(+), 39 deletions(-) diff --git a/crates/tinymist/src/state/project.rs b/crates/tinymist/src/state/project.rs index e4958bd86..b29dba8ad 100644 --- a/crates/tinymist/src/state/project.rs +++ b/crates/tinymist/src/state/project.rs @@ -2,7 +2,7 @@ //! //! ```ascii //! ┌────────────────────────────────┐ ┌────────────┐ -//! │ main::compile_actor │◄───────►│notify_actor│ +//! │ main::main_loop │◄───────►│notify_actor│ //! └─────┬────────────────────▲─────┘ └────────────┘ //! │ │ //! ┌─────▼────────────────────┴─────┐ handler ┌────────────┐ @@ -23,7 +23,6 @@ pub use tinymist_project::*; use std::sync::Arc; -use log::{error, trace}; use parking_lot::Mutex; use reflexo::{hash::FxHashMap, path::unix_slash}; use reflexo_typst::CompileReport; @@ -164,7 +163,7 @@ impl ProjectClient for LspClient { impl ProjectClient for tokio::sync::mpsc::UnboundedSender { fn send_event(&self, event: LspInterrupt) { if let Err(err) = self.send(event) { - error!("failed to send interrupt: {err}"); + log::error!("failed to send interrupt: {err}"); } } } @@ -173,7 +172,7 @@ impl CompileHandlerImpl { fn push_diagnostics(&self, dv: DocVersion, diagnostics: Option) { let res = self.editor_tx.send(EditorRequest::Diag(dv, diagnostics)); if let Err(err) = res { - error!("failed to send diagnostics: {err:#}"); + log::error!("failed to send diagnostics: {err:#}"); } } @@ -196,7 +195,7 @@ impl CompileHandlerImpl { self.analysis.position_encoding, ); - trace!("notify diagnostics({dv:?}): {diagnostics:#?}"); + log::trace!("notify diagnostics({dv:?}): {diagnostics:#?}"); diagnostics }); @@ -390,7 +389,7 @@ impl LspQuerySnapshot { pub fn run_analysis(self, f: impl FnOnce(&mut LocalContextGuard) -> T) -> Result { let world = self.snap.world; let Some(..) = world.main_id() else { - error!("Project: main file is not set"); + log::error!("Project: main file is not set"); bail!("main file is not set"); }; diff --git a/crates/tinymist/src/state/server.rs b/crates/tinymist/src/state/server.rs index a88177853..d0ac33ed7 100644 --- a/crates/tinymist/src/state/server.rs +++ b/crates/tinymist/src/state/server.rs @@ -3,7 +3,6 @@ use std::ops::Deref; use std::path::{Path, PathBuf}; use std::sync::Arc; -use log::{error, info}; use lsp_types::*; use parking_lot::Mutex; use sync_lsp::*; @@ -129,7 +128,7 @@ impl ServerState { /// The entry point for the language server. pub fn main(client: TypedLspClient, config: Config, start: bool) -> Self { - info!("LanguageState: initialized with config {config:?}"); + log::info!("LanguageState: initialized with config {config:?}"); // Bootstrap server let (editor_tx, editor_rx) = mpsc::unbounded_channel(); @@ -145,7 +144,7 @@ impl ServerState { let err = service.restart_primary(); if let Err(err) = err { - error!("could not restart primary: {err}"); + log::error!("could not restart primary: {err}"); } // Run the cluster in the background after we referencing it @@ -380,10 +379,10 @@ impl ServerState { // pub async fn settle(&mut self) { // let _ = self.change_entry(None); - // info!("TypstActor({}): settle requested", self.handle.diag_group); + // log::info!("TypstActor({}): settle requested", self.handle.diag_group); // match self.handle.settle().await { - // Ok(()) => info!("TypstActor({}): settled", self.handle.diag_group), - // Err(err) => error!( + // Ok(()) => log::info!("TypstActor({}): settled", + // self.handle.diag_group), Err(err) => error!( // "TypstActor({}): failed to settle: {err:#}", // self.handle.diag_group // ), diff --git a/crates/tinymist/src/task/export.rs b/crates/tinymist/src/task/export.rs index 331126b8e..817cfec08 100644 --- a/crates/tinymist/src/task/export.rs +++ b/crates/tinymist/src/task/export.rs @@ -149,13 +149,13 @@ impl ExportTask { return Ok(None); }; if to.is_relative() { - bail!("RenderActor({task:?}): output path is relative: {to:?}"); + bail!("ExportTask({task:?}): output path is relative: {to:?}"); } if to.is_dir() { - bail!("RenderActor({task:?}): output path is a directory: {to:?}"); + bail!("ExportTask({task:?}): output path is a directory: {to:?}"); } let to = to.with_extension(task.extension()); - log::info!("RenderActor({task:?}): exporting {entry:?} to {to:?}"); + log::info!("ExportTask({task:?}): exporting {entry:?} to {to:?}"); if let Some(e) = to.parent() { if !e.exists() { std::fs::create_dir_all(e).context("failed to create directory")?; @@ -295,7 +295,7 @@ impl ExportTask { .await .context("failed to export")?; - log::info!("RenderActor({task:?}): export complete"); + log::info!("ExportTask({task:?}): export complete"); Ok(Some(to)) } } diff --git a/crates/typst-preview/src/actor/editor.rs b/crates/typst-preview/src/actor/editor.rs index 3456c9b3f..9d35570ae 100644 --- a/crates/typst-preview/src/actor/editor.rs +++ b/crates/typst-preview/src/actor/editor.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use log::{debug, info, trace, warn}; use reflexo_typst::debug_loc::DocumentPosition; use serde::{Deserialize, Serialize}; use tokio::sync::broadcast; @@ -94,7 +93,7 @@ impl ControlPlaneTx { async fn resp_ctl_plane(&mut self, loc: &str, resp: ControlPlaneResponse) -> bool { let sent = self.resp_tx.send(resp).is_ok(); if !sent { - warn!("failed to send {loc} response to editor"); + log::warn!("failed to send {loc} response to editor"); } sent @@ -176,10 +175,10 @@ impl EditorActor { loop { tokio::select! { Some(msg) = self.mailbox.recv() => { - trace!("EditorActor: received message from mailbox: {:?}", msg); + log::trace!("EditorActor: received message from mailbox: {:?}", msg); let sent = match msg { EditorActorRequest::Shutdown => { - info!("EditorActor: received exit message"); + log::info!("EditorActor: received exit message"); break; }, EditorActorRequest::DocToSrcJump(jump_info) => { @@ -206,25 +205,25 @@ impl EditorActor { Some(msg) = self.editor_conn.next() => { match msg { ControlPlaneMessage::ChangeCursorPosition(cursor_info) => { - debug!("EditorActor: received message from editor: {:?}", cursor_info); + log::debug!("EditorActor: received message from editor: {:?}", cursor_info); self.renderer_sender.send(RenderActorRequest::ChangeCursorPosition(cursor_info)).unwrap(); } ControlPlaneMessage::ResolveSourceLoc(jump_info) => { - debug!("EditorActor: received message from editor: {:?}", jump_info); + log::debug!("EditorActor: received message from editor: {:?}", jump_info); self.renderer_sender.send(RenderActorRequest::ResolveSourceLoc(jump_info)).unwrap(); } ControlPlaneMessage::PanelScrollByPosition(jump_info) => { - debug!("EditorActor: received message from editor: {:?}", jump_info); + log::debug!("EditorActor: received message from editor: {:?}", jump_info); self.webview_sender.send(WebviewActorRequest::ViewportPosition(jump_info.position)).unwrap(); } ControlPlaneMessage::DocToSrcJumpResolve(jump_info) => { - debug!("EditorActor: received message from editor: {:?}", jump_info); + log::debug!("EditorActor: received message from editor: {:?}", jump_info); self.source_scroll_by_span(jump_info.span) .await; } ControlPlaneMessage::SyncMemoryFiles(req) => { - debug!( + log::debug!( "EditorActor: processing SYNC memory files: {:?}", req.files.keys().collect::>() ); @@ -234,7 +233,7 @@ impl EditorActor { ); } ControlPlaneMessage::UpdateMemoryFiles(req) => { - debug!( + log::debug!( "EditorActor: processing UPDATE memory files: {:?}", req.files.keys().collect::>() ); @@ -244,7 +243,7 @@ impl EditorActor { ); } ControlPlaneMessage::RemoveMemoryFiles(req) => { - debug!("EditorActor: processing REMOVE memory files: {:?}", req.files); + log::debug!("EditorActor: processing REMOVE memory files: {:?}", req.files); handle_error( "RemoveMemoryFiles", self.client.remove_shadow_files(req).await, @@ -255,10 +254,10 @@ impl EditorActor { } } - info!("EditorActor: editor disconnected"); + log::info!("EditorActor: editor disconnected"); if self.editor_conn.is_standalone { - info!("EditorActor: shutting down whole program"); + log::info!("EditorActor: shutting down whole program"); std::process::exit(0); } } @@ -268,7 +267,7 @@ impl EditorActor { match self.span_interner.span_by_str(&span).await { InternQuery::Ok(s) => s, InternQuery::UseAfterFree => { - warn!("EditorActor: out of date span id: {}", span); + log::warn!("EditorActor: out of date span id: {}", span); return; } } diff --git a/crates/typst-preview/src/actor/webview.rs b/crates/typst-preview/src/actor/webview.rs index b10b2c2ea..d607792bd 100644 --- a/crates/typst-preview/src/actor/webview.rs +++ b/crates/typst-preview/src/actor/webview.rs @@ -1,6 +1,4 @@ use futures::{SinkExt, StreamExt}; -// use hyper_tungstenite::tungstenite::Message; -use log::{info, trace}; use reflexo_typst::debug_loc::{DocumentPosition, ElementPoint}; use tokio::sync::{broadcast, mpsc}; @@ -90,7 +88,7 @@ impl< loop { tokio::select! { Ok(msg) = self.mailbox.recv() => { - trace!("WebviewActor: received message from mailbox: {:?}", msg); + log::trace!("WebviewActor: received message from mailbox: {:?}", msg); match msg { WebviewActorRequest::SrcToDocJump(jump_info) => { let msg = positions_req("jump", jump_info); @@ -115,18 +113,18 @@ impl< } } Some(svg) = self.svg_receiver.recv() => { - trace!("WebviewActor: received svg from renderer"); + log::trace!("WebviewActor: received svg from renderer"); self.webview_websocket_conn.send(Message::Binary(svg)) .await.unwrap(); } Some(msg) = self.webview_websocket_conn.next() => { - trace!("WebviewActor: received message from websocket: {:?}", msg); + log::trace!("WebviewActor: received message from websocket: {:?}", msg); let Ok(msg) = msg else { - info!("WebviewActor: no more messages from websocket: {}", msg.unwrap_err()); + log::info!("WebviewActor: no more messages from websocket: {}", msg.unwrap_err()); break; }; let Message::Text(msg) = msg else { - info!("WebviewActor: received non-text message from websocket: {:?}", msg); + log::info!("WebviewActor: received non-text message from websocket: {:?}", msg); let _ = self.webview_websocket_conn.send(Message::Text(format!("Webview Actor: error, received non-text message: {msg:?}"))) .await; break; @@ -159,7 +157,7 @@ impl< }; } else { let err = self.webview_websocket_conn.send(Message::Text(format!("error, received unknown message: {}", msg))).await; - info!("WebviewActor: received unknown message from websocket: {msg} {err:?}"); + log::info!("WebviewActor: received unknown message from websocket: {msg} {err:?}"); break; } } @@ -168,6 +166,6 @@ impl< } } } - info!("WebviewActor: exiting"); + log::info!("WebviewActor: exiting"); } }