修复mcp log

This commit is contained in:
oudecheng 2026-07-08 15:52:36 +08:00
parent 0a8d21fe40
commit 53a45ad7c4

View File

@ -364,11 +364,25 @@ impl McpClientManager {
let reader = BufReader::new(child_stderr); let reader = BufReader::new(child_stderr);
let mut lines = reader.lines(); let mut lines = reader.lines();
while let Ok(Some(line)) = lines.next_line().await { while let Ok(Some(line)) = lines.next_line().await {
tracing::warn!( // Escalate real warnings/errors; demote normal diagnostics to debug
server_key = %server_key_owned, let lower = line.to_lowercase();
stderr = %line, let is_warning = lower.contains("error")
"MCP child process stderr" || 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) // Also collect into the shared buffer (cap at 50 lines)
if let Ok(mut buf) = stderr_lines_for_task.lock() { if let Ok(mut buf) = stderr_lines_for_task.lock() {
if buf.len() < 50 { if buf.len() < 50 {