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}