diff --git a/imphnen-utils/src/lib.rs b/imphnen-utils/src/lib.rs index a8b4713..8ba084c 100644 --- a/imphnen-utils/src/lib.rs +++ b/imphnen-utils/src/lib.rs @@ -1,3 +1,4 @@ +mod logger; pub mod bind_filter; pub mod extract_email; pub mod generate_date; @@ -10,6 +11,7 @@ pub mod response_format; pub mod serde_helpers; pub mod validator; +pub use logger::init_logger; pub use bind_filter::*; pub use extract_email::*; pub use generate_date::*; diff --git a/imphnen-utils/src/logger.rs b/imphnen-utils/src/logger.rs new file mode 100644 index 0000000..4ef1d44 --- /dev/null +++ b/imphnen-utils/src/logger.rs @@ -0,0 +1,20 @@ +//! Logger initialization using tracing, tracing-subscriber, and dotenvy. +use std::env; +use dotenvy::dotenv; +use tracing_subscriber::{EnvFilter, fmt}; + +/// Initializes the logger using tracing and tracing-subscriber. +/// Loads environment variables from `.env` and sets log level from `RUST_LOG`. +pub fn init_logger() { + // Load .env file if present + dotenv().ok(); + + // Set up the tracing subscriber with EnvFilter from RUST_LOG + let filter = EnvFilter::try_from_default_env() + .or_else(|_| EnvFilter::try_new("warn")) + .unwrap(); + + fmt() + .with_env_filter(filter) + .init(); +}