From 257c22fe577af07e458ef4ab9f59f16fe9438bf1 Mon Sep 17 00:00:00 2001 From: elcoosp Date: Mon, 17 Mar 2025 19:08:47 +0100 Subject: [PATCH] feat: add build-print feature to enable build.rs logging --- Cargo.toml | 4 ++++ src/lib.rs | 4 ++++ src/logger.rs | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index ed26eca..659a327 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,8 +22,12 @@ log = "0.4.20" faccess = "0.2.4" os_pipe = "1.1.4" env_logger = "0.10.0" +build-print = { version = "0.1.1", optional = true } [dev-dependencies] rayon = "1.8.0" clap = { version = "4", features = ["derive"] } byte-unit = "4.0.19" + +[features] +build-print = ["dep:build-print"] diff --git a/src/lib.rs b/src/lib.rs index 46b4254..432eea5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -376,8 +376,12 @@ pub use cmd_lib_macros::{ pub type FunResult = std::io::Result; /// Return type for [`run_cmd!()`] macro. pub type CmdResult = std::io::Result<()>; +#[cfg(feature = "build-print")] +#[doc(hidden)] +pub use build_print as inner_log; pub use child::{CmdChildren, FunChildren}; pub use io::{CmdIn, CmdOut}; +#[cfg(not(feature = "build-print"))] #[doc(hidden)] pub use log as inner_log; #[doc(hidden)] diff --git a/src/logger.rs b/src/logger.rs index 53382e3..233e15e 100644 --- a/src/logger.rs +++ b/src/logger.rs @@ -39,6 +39,9 @@ macro_rules! info { macro_rules! debug { ($($arg:tt)*) => {{ $crate::try_init_default_logger(); + #[cfg(feature = "build-print")] + $crate::inner_log::info!($($arg)*); + #[cfg(not(feature = "build-print"))] $crate::inner_log::debug!($($arg)*); }} } @@ -48,6 +51,9 @@ macro_rules! debug { macro_rules! trace { ($($arg:tt)*) => {{ $crate::try_init_default_logger(); + #[cfg(feature = "build-print")] + $crate::inner_log::info!($($arg)*); + #[cfg(not(feature = "build-print"))] $crate::inner_log::trace!($($arg)*); }} }