23 lines
472 B
Rust
23 lines
472 B
Rust
use clap::Parser;
|
|
use figment::{
|
|
providers::{Env, Serialized},
|
|
Figment,
|
|
};
|
|
use cli::config::Config;
|
|
use cli::Result;
|
|
use tracing_subscriber;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<()> {
|
|
let cli = Config::parse();
|
|
let args: Config = Figment::new()
|
|
.merge(Serialized::defaults(&cli))
|
|
.merge(Env::prefixed("APP_"))
|
|
.extract()?;
|
|
|
|
tracing_subscriber::fmt()
|
|
.with_max_level(args.log_level())
|
|
.init();
|
|
|
|
Ok(())
|
|
}
|