Switch to using log crate macros

This commit is contained in:
Will Greenberg
2023-12-14 11:47:34 -08:00
parent d6266db1b9
commit fd5d01ad1f
3 changed files with 18 additions and 16 deletions

View File

@@ -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<MessagesContainer> {
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)
}

View File

@@ -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<T> = Result<T, DiagDeviceError>;
@@ -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);
}
}

View File

@@ -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);
}
}
}