chore: improve logging

This commit is contained in:
Michel de Graaf
2025-11-06 16:45:07 +01:00
parent bcbd68257d
commit 1785da6507
5 changed files with 52 additions and 38 deletions
+27 -1
View File
@@ -200,7 +200,10 @@ impl Message {
let data = &self.data[self.pointer..self.pointer + size]; let data = &self.data[self.pointer..self.pointer + size];
self.pointer += size; self.pointer += size;
String::from_utf8(data.to_vec()).expect("Failed to read string") match String::from_utf8(data.to_vec()) {
Ok(s) => s,
Err(_) => data.iter().map(|&b| b as char).collect::<String>(),
}
} }
pub fn read_int8(&mut self) -> u8 { pub fn read_int8(&mut self) -> u8 {
@@ -466,3 +469,26 @@ fn test_read_string_invalid_utf8() {
let mut test_data = Message::new_with_data(data); let mut test_data = Message::new_with_data(data);
test_data.read_string(); test_data.read_string();
} }
#[test]
fn test_read_string_invalid_utf82() {
let data = [
128, 0, 0, 0, 103, 58, 92, 100, 105, 115, 107, 52, 92, 115, 101, 109,
105, 114, 97, 109, 105, 115, 92, 99, 104, 105, 108, 108, 44, 32, 100,
117, 98, 44, 32, 100, 111, 119, 110, 98, 101, 97, 116, 44, 32, 97, 109,
98, 105, 101, 110, 116, 92, 118, 97, 114, 105, 111, 117, 115, 32, 97,
114, 116, 105, 115, 116, 115, 92, 112, 111, 116, 116, 32, 104, 101, 97,
100, 122, 32, 45, 32, 100, 111, 112, 101, 32, 115, 109, 111, 107, 105,
110, 180, 98, 101, 97, 116, 115, 32, 107, 98, 115, 32, 49, 50, 56, 32,
49, 57, 57, 54, 92, 48, 53, 32, 45, 32, 98, 108, 117, 101, 32, 116,
114, 97, 105, 110, 46, 109, 112, 51,
]
.to_vec();
let mut test_data = Message::new_with_data(data);
let str = test_data.read_string();
assert_eq!(
str,
r"g:\disk4\semiramis\chill, dub, downbeat, ambient\various artists\pott headz - dope smokin´beats kbs 128 1996\05 - blue train.mp3"
);
}
+1 -1
View File
@@ -27,7 +27,7 @@ impl MessageHandler<ServerOperation> for MessageUser {
new_message, new_message,
); );
info!("User message received:"); info!("[MessageUser] User message received:{:?}", user_message);
user_message.print() user_message.print()
} }
} }
+3 -15
View File
@@ -98,9 +98,10 @@ impl DefaultPeer {
pub fn connect(mut self) -> Result<Self, io::Error> { pub fn connect(mut self) -> Result<Self, io::Error> {
{ {
let peer = self.peer.read().unwrap(); let peer = self.peer.read().unwrap();
println!( trace!(
"[default_peer] Connecting to {} on port {}", "[default_peer] Connecting to {} on port {}",
peer.host, peer.port peer.host,
peer.port
); );
} }
let socket_address = { let socket_address = {
@@ -141,10 +142,6 @@ impl DefaultPeer {
stream: TcpStream, stream: TcpStream,
reader: Option<MessageReader>, reader: Option<MessageReader>,
) -> Result<(), io::Error> { ) -> Result<(), io::Error> {
debug!(
"[default_peer:{}] start_read_write_loops",
self.peer.read().unwrap().username
);
let (peer_sender, peer_reader): ( let (peer_sender, peer_reader): (
Sender<PeerOperation>, Sender<PeerOperation>,
Receiver<PeerOperation>, Receiver<PeerOperation>,
@@ -165,11 +162,6 @@ impl DefaultPeer {
}; };
let mut read_stream = stream; let mut read_stream = stream;
debug!(
"[default_peer:{}] Streams created, spawning threads",
self.peer.read().unwrap().username
);
let peer = self.peer.clone(); let peer = self.peer.clone();
let peer_clone = self.peer.clone(); let peer_clone = self.peer.clone();
let client_channel_for_read = self.client_channel.clone(); let client_channel_for_read = self.client_channel.clone();
@@ -178,10 +170,6 @@ impl DefaultPeer {
let buffer_size = buffered_reader.buffer_len(); let buffer_size = buffered_reader.buffer_len();
self.read_thread = Some(thread::spawn(move || { self.read_thread = Some(thread::spawn(move || {
debug!(
"Read thread received reader with {} bytes in buffer",
buffer_size
);
let mut handlers = Handlers::new(); let mut handlers = Handlers::new();
handlers.register_handler(FileSearchResponse); handlers.register_handler(FileSearchResponse);
handlers.register_handler(TransferRequest); handlers.register_handler(TransferRequest);
+3 -3
View File
@@ -11,13 +11,13 @@ pub enum LogLevel {
} }
static INIT: Once = Once::new(); static INIT: Once = Once::new();
static mut LOG_LEVEL: LogLevel = LogLevel::Debug; // Default to VERBOSE (mapped to DEBUG) static mut LOG_LEVEL: LogLevel = LogLevel::Warn;
pub fn init() { pub fn init() {
INIT.call_once(|| { INIT.call_once(|| {
let level = env::var("LOG_LEVEL") let level = env::var("LOG_LEVEL")
.or_else(|_| env::var("RUST_LOG")) .or_else(|_| env::var("RUST_LOG"))
.unwrap_or_else(|_| "VERBOSE".to_string()) .unwrap_or_else(|_| "WARN".to_string())
.to_uppercase(); .to_uppercase();
unsafe { unsafe {
@@ -28,7 +28,7 @@ pub fn init() {
"DEBUG" => LogLevel::Debug, "DEBUG" => LogLevel::Debug,
"TRACE" => LogLevel::Trace, "TRACE" => LogLevel::Trace,
"VERBOSE" => LogLevel::Debug, // Map VERBOSE to DEBUG "VERBOSE" => LogLevel::Debug, // Map VERBOSE to DEBUG
_ => LogLevel::Debug, // Default to VERBOSE _ => LogLevel::Warn, // Default to WARN
}; };
} }
}); });
+18 -18
View File
@@ -71,32 +71,32 @@ impl Worker {
fn new( fn new(
id: usize, id: usize,
receiver: Arc<Mutex<mpsc::Receiver<Job>>>, receiver: Arc<Mutex<mpsc::Receiver<Job>>>,
active_threads: Arc<AtomicUsize>, _active_threads: Arc<AtomicUsize>,
total_threads: usize, _total_threads: usize,
) -> Worker { ) -> Worker {
let thread = thread::spawn(move || loop { let thread = thread::spawn(move || loop {
let job = receiver.lock().unwrap().recv(); let job = receiver.lock().unwrap().recv();
match job { match job {
Ok(job) => { Ok(job) => {
let active = // let active =
active_threads.fetch_add(1, Ordering::SeqCst) + 1; // active_threads.fetch_add(1, Ordering::SeqCst) + 1;
trace!( // trace!(
"Thread {} started job (active: {}/{})", // "Thread {} started job (active: {}/{})",
id, // id,
active, // active,
total_threads // total_threads
); // );
job(); job();
let active = // let active =
active_threads.fetch_sub(1, Ordering::SeqCst) - 1; // active_threads.fetch_sub(1, Ordering::SeqCst) - 1;
trace!( // trace!(
"Thread {} finished job (active: {}/{})", // "Thread {} finished job (active: {}/{})",
id, // id,
active, // active,
total_threads // total_threads
); // );
} }
Err(_) => { Err(_) => {
break; break;