pipebuilder_common 0.2.2

lib for pipebuilder components
use super::constants::{ENV_FORMATTER, FULL_FORMATTER, JSON_FORMATTER, PRETTY_FORMATTER};

fn init_with_full_formatter() {
    tracing_subscriber::fmt().init()
}

fn init_with_pretty_formatter() {
    tracing_subscriber::fmt().pretty().init()
}

fn init_with_json_formatter() {
    tracing_subscriber::fmt().json().flatten_event(true).init()
}

pub fn init_tracing_subscriber() {
    let formatter = std::env::var(ENV_FORMATTER).unwrap_or_else(|_| String::from(FULL_FORMATTER));
    match formatter.as_str() {
        FULL_FORMATTER => init_with_full_formatter(),
        PRETTY_FORMATTER => init_with_pretty_formatter(),
        JSON_FORMATTER => init_with_json_formatter(),
        _ => init_with_full_formatter(),
    }
}