feat: add logger

This commit is contained in:
sigoden
2022-05-27 09:01:16 +08:00
parent e6ea7e4f75
commit 63e6906393
7 changed files with 126 additions and 33 deletions

View File

@@ -4,21 +4,36 @@ macro_rules! bail {
}
}
#[macro_use]
extern crate log;
mod args;
mod server;
pub type BoxResult<T> = Result<T, Box<dyn std::error::Error>>;
use log::LevelFilter;
use crate::args::{matches, Args};
use crate::server::serve;
#[tokio::main]
async fn main() {
Args::parse(matches())
.map(serve)
.unwrap_or_else(handle_err)
.await
.unwrap_or_else(handle_err);
run().await.unwrap_or_else(handle_err)
}
async fn run() -> BoxResult<()> {
let args = Args::parse(matches())?;
let level = if args.log {
LevelFilter::Info
} else {
LevelFilter::Error
};
simple_logger::SimpleLogger::default()
.with_level(level)
.init()?;
serve(args).await
}
fn handle_err<T>(err: Box<dyn std::error::Error>) -> T {