mirror of
https://github.com/sigoden/dufs.git
synced 2026-04-09 00:59:02 +03:00
feat: add logger
This commit is contained in:
25
src/main.rs
25
src/main.rs
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user