@@ -1,6 +1,6 @@
1use std::collections::HashMap;
1use std::collections::HashMap;
3−use log::{debug, error};
3+use log::{error, info};
5use crate::Error;
5use crate::Error;
@@ -48,7 +48,6 @@ pub(crate) struct Transport {
49 writer: BufWriter<ChildStdin>,
49 writer: BufWriter<ChildStdin>,
50 reader: BufReader<ChildStdout>,
50 reader: BufReader<ChildStdout>,
51− #[allow(dead_code)] // TODO: handle stderr logs
52 stderr: BufReader<ChildStderr>,
51 stderr: BufReader<ChildStderr>,
@@ -111,7 +110,7 @@ impl Transport {
112 // read data
111 // read data
114− debug!("<- {}", msg);
113+ info!("<- {}", msg);
116 // try parsing as output (server response) or call (server request)
115 // try parsing as output (server response) or call (server request)
117 let output: serde_json::Result<Message> = serde_json::from_str(&msg);
116 let output: serde_json::Result<Message> = serde_json::from_str(&msg);
@@ -119,6 +118,16 @@ impl Transport {
119 Ok(output?)
118 Ok(output?)
122+ err: &mut (impl AsyncBufRead + Unpin),
123+ ) -> core::result::Result<(), std::io::Error> {
124+ let mut line = String::new();
125+ err.read_line(&mut line).await?;
126+ error!("err <- {}", line);
122 pub async fn send_payload(&mut self, payload: Payload) -> anyhow::Result<()> {
131 pub async fn send_payload(&mut self, payload: Payload) -> anyhow::Result<()> {
123 match payload {
132 match payload {
124 Payload::Request { chan, value } => {
133 Payload::Request { chan, value } => {
@@ -139,7 +148,7 @@ impl Transport {
141 pub async fn send(&mut self, request: String) -> anyhow::Result<()> {
150 pub async fn send(&mut self, request: String) -> anyhow::Result<()> {
142− debug!("-> {}", request);
151+ info!("-> {}", request);
144 // send the headers
153 // send the headers
145 self.writer
154 self.writer
@@ -168,7 +177,7 @@ impl Transport {
168 async fn recv_response(&mut self, output: jsonrpc::Output) -> anyhow::Result<()> {
177 async fn recv_response(&mut self, output: jsonrpc::Output) -> anyhow::Result<()> {
169 match output {
178 match output {
170 jsonrpc::Output::Success(jsonrpc::Success { id, result, .. }) => {
179 jsonrpc::Output::Success(jsonrpc::Success { id, result, .. }) => {
171− debug!("<- {}", result);
180+ info!("<- {}", result);
173 let tx = self
182 let tx = self
174 .pending_requests
183 .pending_requests
@@ -210,6 +219,7 @@ impl Transport {
211 self.recv_msg(msg).await.unwrap();
220 self.recv_msg(msg).await.unwrap();
222+ _msg = Self::err(&mut self.stderr).fuse() => {}