dap: logging using fern
This commit is contained in:
parent
0f6e81b85b
commit
fd709bc56d
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -327,6 +327,7 @@ name = "helix-dap"
|
||||
version = "0.3.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"fern",
|
||||
"log",
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
@ -18,3 +18,6 @@ serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1.9", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot"] }
|
||||
|
||||
[dev-dependencies]
|
||||
fern = "0.6"
|
||||
|
@ -2,6 +2,17 @@
|
||||
|
||||
#[tokio::main]
|
||||
pub async fn main() -> Result<()> {
|
||||
let base_config = fern::Dispatch::new().level(log::LevelFilter::Info);
|
||||
|
||||
let stderr_config = fern::Dispatch::new()
|
||||
.format(|out, message, record| out.finish(format_args!("[{}] {}", record.level(), message)))
|
||||
.chain(std::io::stderr());
|
||||
|
||||
base_config
|
||||
.chain(stderr_config)
|
||||
.apply()
|
||||
.expect("Failed to set up logging");
|
||||
|
||||
let mut client = Client::start("nc", vec!["127.0.0.1", "7777"], 0)?;
|
||||
|
||||
println!("init: {:?}", client.initialize().await);
|
||||
|
@ -1,6 +1,6 @@
|
||||
use crate::{Error, Result};
|
||||
use anyhow::Context;
|
||||
use log::error;
|
||||
use log::{error, info};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
@ -123,8 +123,7 @@ async fn recv_server_message(
|
||||
reader.read_exact(&mut content).await?;
|
||||
let msg = std::str::from_utf8(&content).context("invalid utf8 from server")?;
|
||||
|
||||
// TODO: `info!` here
|
||||
println!("<- DAP {}", msg);
|
||||
info!("<- DAP {}", msg);
|
||||
|
||||
// try parsing as output (server response) or call (server request)
|
||||
let output: serde_json::Result<Payload> = serde_json::from_str(msg);
|
||||
@ -153,8 +152,7 @@ async fn send_string_to_server(
|
||||
server_stdin: &mut BufWriter<ChildStdin>,
|
||||
request: String,
|
||||
) -> Result<()> {
|
||||
// TODO: `info!` here
|
||||
println!("-> DAP {}", request);
|
||||
info!("-> DAP {}", request);
|
||||
|
||||
// send the headers
|
||||
server_stdin
|
||||
@ -181,8 +179,7 @@ async fn process_server_message(
|
||||
request_seq,
|
||||
..
|
||||
}) => {
|
||||
// TODO: `info!` here
|
||||
println!("<- DAP success ({}, in response to {})", seq, request_seq);
|
||||
info!("<- DAP success ({}, in response to {})", seq, request_seq);
|
||||
if let Payload::Response(val) = msg {
|
||||
(request_seq, Ok(val))
|
||||
} else {
|
||||
@ -197,8 +194,7 @@ async fn process_server_message(
|
||||
command,
|
||||
..
|
||||
}) => {
|
||||
// TODO: `error!` here
|
||||
println!(
|
||||
error!(
|
||||
"<- DAP error {:?} ({:?}) for command #{} {}",
|
||||
message, body, request_seq, command
|
||||
);
|
||||
@ -212,16 +208,14 @@ async fn process_server_message(
|
||||
ref seq,
|
||||
..
|
||||
}) => {
|
||||
// TODO: `info!` here
|
||||
println!("<- DAP request {} #{}", command, seq);
|
||||
info!("<- DAP request {} #{}", command, seq);
|
||||
client_tx.send(msg).expect("Failed to send");
|
||||
return Ok(());
|
||||
}
|
||||
Payload::Event(Event {
|
||||
ref event, ref seq, ..
|
||||
}) => {
|
||||
// TODO: `info!` here
|
||||
println!("<- DAP event {} #{}", event, seq);
|
||||
info!("<- DAP event {} #{}", event, seq);
|
||||
client_tx.send(msg).expect("Failed to send");
|
||||
return Ok(());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user