diff --git a/server/Cargo.toml b/server/Cargo.toml index 4d0c290..0207d4e 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -9,3 +9,5 @@ tokio-stream = "0.1" tonic = { version = "0.11", features = ["transport"] } anyhow = "1.0" navka-common = { path = "../common" } +tracing = { version = "0.1", features = ["std"] } +tracing-subscriber = "0.3" diff --git a/server/src/main.rs b/server/src/main.rs index 0959765..77c6f7c 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -5,6 +5,8 @@ use std::{pin::Pin, sync::Arc}; use tokio::{fs::OpenOptions, io::AsyncWriteExt}; use tokio_stream::{wrappers::ReceiverStream, Stream, StreamExt}; use tonic::{transport::Server, Request, Response, Status}; +use tracing::{info, error}; +use tracing_subscriber::FmtSubscriber; use navka_common::navka::{ relay_server::{Relay, RelayServer}, @@ -38,7 +40,10 @@ impl Relay for Handler { file.write_all(&msg.data).await.map_err(|e| Status::internal(e.to_string()))?; file.flush().await.ok(); - // 2) echo back + // 2) structured log (shows hex + length) + info!(bytes = ?msg.data, len = msg.data.len(), "HID report received"); + + // 3) echo back tx.send(Ok(msg)).await.ok(); } Ok::<_, Status>(()) @@ -50,12 +55,14 @@ impl Relay for Handler { #[tokio::main] async fn main() -> anyhow::Result<()> { + let subscriber = FmtSubscriber::builder().with_target(false).finish(); + tracing::subscriber::set_global_default(subscriber)?; + let file = OpenOptions::new() .write(true) .open("/dev/hidg0") .await?; let hid = Arc::new(tokio::sync::Mutex::new(file)); - let handler = Handler { hid }; println!("🌐 navka-server listening on 0.0.0.0:50051");