From 53a45ad7c46eb143c32f49216df13421e402afdf Mon Sep 17 00:00:00 2001 From: oudecheng <13802883547@139.com> Date: Wed, 8 Jul 2026 15:52:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmcp=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mcp/client.rs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/mcp/client.rs b/src/mcp/client.rs index 73ecddf..49fd0b5 100644 --- a/src/mcp/client.rs +++ b/src/mcp/client.rs @@ -364,11 +364,25 @@ impl McpClientManager { let reader = BufReader::new(child_stderr); let mut lines = reader.lines(); while let Ok(Some(line)) = lines.next_line().await { - tracing::warn!( - server_key = %server_key_owned, - stderr = %line, - "MCP child process stderr" - ); + // Escalate real warnings/errors; demote normal diagnostics to debug + let lower = line.to_lowercase(); + let is_warning = lower.contains("error") + || lower.contains("warn") + || lower.contains("panic") + || lower.contains("fatal"); + if is_warning { + tracing::warn!( + server_key = %server_key_owned, + stderr = %line, + "MCP child process stderr" + ); + } else { + tracing::debug!( + server_key = %server_key_owned, + stderr = %line, + "MCP child process stderr" + ); + } // Also collect into the shared buffer (cap at 50 lines) if let Ok(mut buf) = stderr_lines_for_task.lock() { if buf.len() < 50 {