Skip to main content

spawn_stderr_reader

Function spawn_stderr_reader 

Source
pub fn spawn_stderr_reader<T>(stderr: T, service_name: String) -> JoinHandle<()>
where T: AsyncRead + Unpin + Send + 'static,
Expand description

启动 stderr 日志读取任务

创建一个异步任务来读取子进程的 stderr 输出并记录到日志。 这个函数封装了通用的 stderr 读取逻辑。

§Arguments

  • stderr - stderr 管道(实现 AsyncRead + Unpin + Send)
  • service_name - MCP 服务名称(用于日志标识)

§Returns

返回 JoinHandle<()>,任务会在 stderr 关闭时自动结束

§Example

use mcp_common::process_compat::spawn_stderr_reader;

let (tokio_process, child_stderr) = TokioChildProcess::builder(wrapped_cmd)
    .stderr(Stdio::piped())
    .spawn()?;

if let Some(stderr) = child_stderr {
    spawn_stderr_reader(stderr, "my-mcp-service".to_string());
}