use log::Level; use securefmt::Debug; #[derive(Debug)] struct TestStruct(u8, #[sensitive] u8); #[cfg(not(feature = "debug_mode"))] fn main() { use assertx::assert_logs_contain_none; let logs = assertx::setup_logging_test(); assert_eq!( format!("{:?}", TestStruct(3, 4)), "TestStruct { 0: 3, 1: }" ); assert_logs_contain_none!( logs, Level::Warn => "WARNING: securefmt debug_mode feature is active. Sensitive data may be leaked. It is strongly recommended to disable debug_mode in production releases." ); } #[cfg(feature = "debug_mode")] fn main() { use assertx::assert_logs_contain_in_order; let logs = assertx::setup_logging_test(); assert_eq!(format!("{:?}", TestStruct(3, 4)), "TestStruct { 0: 3, 1: 4 }"); assert_logs_contain_in_order!( logs, Level::Warn => "WARNING: securefmt debug_mode feature is active. Sensitive data may be leaked. It is strongly recommended to disable debug_mode in production releases." ); }