omni_orchestrator/initialization/setup_logging.rs
1use colored::Colorize;
2use env_logger::Builder;
3use std::io::Write;
4
5/// Initializes the global logger for the application.
6///
7/// Sets up colored output, info-level filtering, and a custom format for log messages.
8/// This should be called once at startup before any logging occurs.
9///
10/// # Example
11/// ```rust
12/// setup_logging().await;
13/// ```
14pub async fn setup_logging() {
15 Builder::new()
16 .filter_level(log::LevelFilter::Info)
17 .format(|buf, record| {
18 // Use colored output for log levels and message formatting
19 let _style = buf.default_level_style(record.level());
20 writeln!(buf, "{}: {}", record.level(), format!("{}", record.args()))
21 })
22 .init();
23
24 log::info!("{}", "Logger initialized successfully".green());
25}