diff --git a/Cargo.toml b/Cargo.toml index f17ebc4..38373ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bp3d-debug" -version = "1.0.0-rc.4.0.0" +version = "1.0.0-rc.5.0.0" authors = ["Yuri Edward "] edition = "2021" description = "Tracing subscriber implementations for use with BP3D software. Supports traditional logging through bp3d-logger and supports remote profiling through TCP." diff --git a/src/engine/void.rs b/src/engine/default.rs similarity index 87% rename from src/engine/void.rs rename to src/engine/default.rs index 7db07d6..12aee28 100644 --- a/src/engine/void.rs +++ b/src/engine/default.rs @@ -33,9 +33,9 @@ use std::fmt::Arguments; use std::num::NonZeroU32; use std::sync::atomic::Ordering; -pub struct VoidDebugger {} +pub struct DefaultDebugger {} -impl crate::profiler::Profiler for VoidDebugger { +impl crate::profiler::Profiler for DefaultDebugger { fn section_register(&self, _: &'static crate::profiler::section::Section) -> NonZeroU32 { ENGINE_INIT_FLAG.store(true, Ordering::Relaxed); unsafe { NonZeroU32::new_unchecked(1) } @@ -46,7 +46,7 @@ impl crate::profiler::Profiler for VoidDebugger { } } -impl crate::trace::Tracer for VoidDebugger { +impl crate::trace::Tracer for DefaultDebugger { fn register_callsite(&self, _: &'static Callsite) -> NonZeroU32 { ENGINE_INIT_FLAG.store(true, Ordering::Relaxed); unsafe { NonZeroU32::new_unchecked(1) } @@ -70,13 +70,18 @@ impl crate::trace::Tracer for VoidDebugger { } } -impl crate::logger::Logger for VoidDebugger { - fn log(&self, callsite: &'static crate::logger::Callsite, args: Arguments, _: &[Field]) { +impl crate::logger::Logger for DefaultDebugger { + fn log(&self, callsite: &'static crate::logger::Callsite, args: Arguments, fields: &[Field]) { + let mut s = String::new(); + for field in fields { + s += &format!(", {}={}", field.name(), field.value()); + } println!( - "[{}] {}: {}", + "[{}] {}: {}{}", callsite.level(), callsite.location().module_path(), - args + args, + s ); ENGINE_INIT_FLAG.store(true, Ordering::Relaxed); } diff --git a/src/engine/mod.rs b/src/engine/mod.rs index bf8edd2..39a2437 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -28,7 +28,7 @@ use std::sync::atomic::{AtomicBool, Ordering}; -mod void; +mod default; pub trait Engine: crate::logger::Logger + crate::profiler::Profiler + crate::trace::Tracer + Sync @@ -41,7 +41,7 @@ impl &'static dyn Engine { unsafe { ENGINE } @@ -64,8 +64,8 @@ mod tests { #[test] fn basic() { - crate::engine::set(&crate::engine::void::VoidDebugger {}); - assert!(!crate::engine::set(&crate::engine::void::VoidDebugger {})); + crate::engine::set(&crate::engine::default::DefaultDebugger {}); + assert!(!crate::engine::set(&crate::engine::default::DefaultDebugger {})); } #[test] @@ -73,6 +73,6 @@ mod tests { crate::engine::get().span_exit(Id::new(unsafe { NonZeroU32::new_unchecked(1) }, unsafe { NonZeroU32::new_unchecked(1) })); - assert!(!crate::engine::set(&crate::engine::void::VoidDebugger {})); + assert!(!crate::engine::set(&crate::engine::default::DefaultDebugger {})); } }