agentzero_core/common/
mod.rs1pub 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}