debug: change logging format

This commit is contained in:
Mark Poliakov 2025-01-30 21:05:57 +02:00
parent 2f46a36255
commit e3bdc24731
2 changed files with 22 additions and 18 deletions

View File

@ -33,6 +33,7 @@ use crate::{
object::KObject,
},
task::{process::Process, thread::Thread},
time::monotonic_time,
};
const MAX_DEBUG_SINKS: usize = 8;
@ -160,7 +161,6 @@ impl log::Log for DebugSinkWrapper {
let level = LogLevel::from(record.level());
let sink = self.sink();
let cpu = Cpu::try_local().map(|c| c.id());
let file = record.file().unwrap_or("<???>");
let line = record.line().unwrap_or(0);
let args = record.args();
@ -171,25 +171,30 @@ impl log::Log for DebugSinkWrapper {
};
let mut writer = SinkWriter { sink };
let now = monotonic_time();
let s = now.seconds();
match record.target() {
"program" => {
write!(writer, "{args}").ok();
}
"raw" => {
write!(writer, "{prefix}{args}{suffix}").ok();
}
"io" => {
writeln!(writer, "[io] {args}").ok();
}
_ => {
write!(writer, "{prefix}").ok();
":program" => {
write!(writer, "{prefix}{s:06}:").ok();
if let Some(cpu) = cpu {
write!(writer, "{cpu}:").ok();
} else {
write!(writer, "?:").ok();
}
writeln!(writer, "{file}:{line}: {args}{suffix}").ok();
write!(writer, "ptrace:{args}").ok();
}
":raw" => {
write!(writer, "{prefix}{args}{suffix}").ok();
}
target => {
write!(writer, "{prefix}{s:06}:").ok();
if let Some(cpu) = cpu {
write!(writer, "{cpu}:").ok();
} else {
write!(writer, "?:").ok();
}
writeln!(writer, "{target}:{line}: {args}{suffix}").ok();
}
}
}
@ -429,11 +434,10 @@ pub fn disable_early_sinks() {
/// Print a trace message coming from a process
pub fn program_trace(process: &Process, thread: &Thread, message: &str) {
log::debug!(
target: "program",
"[trace {}:{}:{:?}] {message}\n",
target: ":program",
"{} ({}) {message}\n",
process.name,
process.id,
thread.id,
*thread.name.read()
);
}

View File

@ -134,7 +134,7 @@ impl ProcessId {
impl fmt::Display for ProcessId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "<Process {}>", self.0)
write!(f, "{}", self.0)
}
}