From fd5d01ad1f61d6f434d88d5677f327740250e72d Mon Sep 17 00:00:00 2001 From: Will Greenberg Date: Thu, 14 Dec 2023 11:47:34 -0800 Subject: [PATCH] Switch to using log crate macros --- src/debug_file.rs | 6 +++--- src/diag_device.rs | 15 ++++++++------- src/diag_reader.rs | 13 +++++++------ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/debug_file.rs b/src/debug_file.rs index 3dd2c2a..89284d7 100644 --- a/src/debug_file.rs +++ b/src/debug_file.rs @@ -5,6 +5,7 @@ use crate::diag::*; use deku::prelude::*; use std::fs::File; use std::io::Read; +use log::{warn, info}; #[derive(Debug, DekuRead, DekuWrite)] #[deku(endian = "little")] @@ -27,13 +28,12 @@ impl DebugFileReader { } } - impl DiagReader for DebugFileReader { fn get_next_messages_container(&mut self) -> DiagResult { let mut bytes_read_buf = [0; 4]; if let Err(e) = self.file.read_exact(&mut bytes_read_buf) { if e.kind() == std::io::ErrorKind::UnexpectedEof { - println!("reached end of debug file, exiting..."); + info!("reached end of debug file, exiting..."); std::process::exit(0); } return Err(e.into()); @@ -43,7 +43,7 @@ impl DiagReader for DebugFileReader { self.file.read_exact(&mut data)?; let ((leftover_bytes, _), container) = MessagesContainer::from_bytes((&data, 0))?; if leftover_bytes.len() > 0 { - println!("warning: {} leftover bytes when parsing MessagesContainer", leftover_bytes.len()); + warn!("warning: {} leftover bytes when parsing MessagesContainer", leftover_bytes.len()); } Ok(container) } diff --git a/src/diag_device.rs b/src/diag_device.rs index b697e96..27a31cf 100644 --- a/src/diag_device.rs +++ b/src/diag_device.rs @@ -8,6 +8,7 @@ use std::fs::File; use std::io::{Read, Write}; use std::os::fd::AsRawFd; use thiserror::Error; +use log::{info, warn, error}; use deku::prelude::*; pub type DiagResult = Result; @@ -78,7 +79,7 @@ impl<'a> DiagReader for DiagDevice<'a> { } let ((leftover_bytes, _), container) = MessagesContainer::from_bytes((&self.read_buf[0..bytes_read], 0))?; if leftover_bytes.len() > 0 { - println!("warning: {} leftover bytes when parsing MessagesContainer", leftover_bytes.len()); + warn!("warning: {} leftover bytes when parsing MessagesContainer", leftover_bytes.len()); } Ok(container) } @@ -106,7 +107,7 @@ impl<'a> DiagDevice<'a> { .create(true) .write(true) .open(path)?; - println!("enabling debug mode, writing debug output to {:?}", debug_file); + info!("enabling debug mode, writing debug output to {:?}", debug_file); self.debug_file = Some(debug_file); Ok(()) } @@ -136,7 +137,7 @@ impl<'a> DiagDevice<'a> { for msg in self.read_response()? { match msg { - Message::Log { .. } => println!("skipping log response..."), + Message::Log { .. } => info!("skipping log response..."), Message::Response { payload, status, .. } => match payload { ResponsePayload::LogConfig(LogConfigResponse::RetrieveIdRanges { log_mask_sizes }) => { if status != 0 { @@ -144,7 +145,7 @@ impl<'a> DiagDevice<'a> { } return Ok(log_mask_sizes); }, - _ => println!("skipping non-LogConfigResponse response..."), + _ => info!("skipping non-LogConfigResponse response..."), }, } } @@ -158,7 +159,7 @@ impl<'a> DiagDevice<'a> { for msg in self.read_response()? { match msg { - Message::Log { .. } => println!("skipping log response..."), + Message::Log { .. } => info!("skipping log response..."), Message::Response { payload, status, .. } => { if let ResponsePayload::LogConfig(LogConfigResponse::SetMask) = payload { if status != 0 { @@ -174,13 +175,13 @@ impl<'a> DiagDevice<'a> { } pub fn config_logs(&mut self) -> DiagResult<()> { - println!("retrieving diag logging capabilities..."); + info!("retrieving diag logging capabilities..."); let log_mask_sizes = self.retrieve_id_ranges()?; for (log_type, &log_mask_bitsize) in log_mask_sizes.iter().enumerate() { if log_mask_bitsize > 0 { self.set_log_mask(log_type as u32, log_mask_bitsize)?; - println!("enabled logging for log type {}", log_type); + info!("enabled logging for log type {}", log_type); } } diff --git a/src/diag_reader.rs b/src/diag_reader.rs index 00ded53..b8d2d85 100644 --- a/src/diag_reader.rs +++ b/src/diag_reader.rs @@ -3,6 +3,7 @@ use crate::diag_device::DiagResult; use crc::{Crc, Algorithm}; use deku::prelude::*; +use log::{debug, info, warn, error}; // this is sorta based on the params qcsuper uses, plus what seems to be used in // https://github.com/fgsect/scat/blob/f1538b397721df3ab8ba12acd26716abcf21f78b/util.py#L47 @@ -27,7 +28,7 @@ pub trait DiagReader { if container.data_type == DataType::UserSpace { return self.parse_response_container(container); } else { - println!("skipping non-userspace message...") + info!("skipping non-userspace message...") } } } @@ -40,18 +41,18 @@ pub trait DiagReader { Ok(data) => match Message::from_bytes((&data, 0)) { Ok(((leftover_bytes, _), res)) => { if leftover_bytes.len() > 0 { - println!("warning: {} leftover bytes when parsing Message", leftover_bytes.len()); + warn!("warning: {} leftover bytes when parsing Message", leftover_bytes.len()); } result.push(res); }, Err(e) => { - println!("error parsing response: {:?}", e); - println!("{:?}", data); + error!("error parsing response: {:?}", e); + debug!("{:?}", data); }, }, Err(err) => { - println!("error decapsulating response: {:?}", err); - println!("{:?}", &sub_msg); + error!("error decapsulating response: {:?}", err); + debug!("{:?}", &sub_msg); } } }