Skip to main content

agentzero_core/common/
mod.rs

1pub mod local_providers;
2pub mod paths;
3pub mod privacy_helpers;
4pub mod url_policy;
5pub mod util;
6
7use tracing_subscriber::EnvFilter;
8
9pub fn init_tracing(verbosity: u8) {
10    let level = verbosity_to_level(verbosity);
11    std::env::set_var("RUST_LOG", level);
12    let filter = EnvFilter::new(level);
13
14    tracing_subscriber::fmt()
15        .with_env_filter(filter)
16        .with_target(false)
17        .try_init()
18        .ok();
19}
20
21fn verbosity_to_level(verbosity: u8) -> &'static str {
22    match verbosity {
23        0 | 1 => "error",
24        2 => "info",
25        3 => "debug",
26        _ => "trace",
27    }
28}
29
30#[cfg(test)]
31mod tests {
32    use super::verbosity_to_level;
33
34    #[test]
35    fn verbosity_level_one_maps_to_error() {
36        assert_eq!(verbosity_to_level(1), "error");
37    }
38
39    #[test]
40    fn verbosity_level_two_maps_to_info() {
41        assert_eq!(verbosity_to_level(2), "info");
42    }
43
44    #[test]
45    fn verbosity_level_three_maps_to_debug() {
46        assert_eq!(verbosity_to_level(3), "debug");
47    }
48
49    #[test]
50    fn verbosity_level_four_or_more_maps_to_trace() {
51        assert_eq!(verbosity_to_level(4), "trace");
52        assert_eq!(verbosity_to_level(8), "trace");
53    }
54}