kutil_cli/log/
tracing.rs

1use anstream::stderr;
2
3/// Initialize a tracing subscriber for stderr.
4///
5/// * 0: no-op.
6/// * 1: [ERROR](tracing::Level::ERROR)
7/// * 2: [WARN](tracing::Level::WARN)
8/// * 3: [INFO](tracing::Level::INFO)
9/// * 4: [DEBUG](tracing::Level::DEBUG)
10/// * >=5: [TRACE](tracing::Level::TRACE)
11pub fn initialize_tracing(verbosity: u8) {
12    if verbosity == 0 {
13        return;
14    }
15
16    let level = match verbosity {
17        1 => tracing::Level::ERROR,
18        2 => tracing::Level::WARN,
19        3 => tracing::Level::INFO,
20        4 => tracing::Level::DEBUG,
21        _ => tracing::Level::TRACE,
22    };
23
24    tracing_subscriber::fmt().with_writer(stderr).with_max_level(level).init();
25}