mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-13 17:35:37 +00:00
better user interface
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use std::vec;
|
||||
use std::{net::SocketAddr, vec};
|
||||
|
||||
use clap::{command, Args, Parser, Subcommand};
|
||||
use easytier_core::{
|
||||
@@ -11,15 +11,13 @@ use easytier_core::{
|
||||
};
|
||||
use humansize::format_size;
|
||||
use tabled::settings::Style;
|
||||
use tracing::level_filters::LevelFilter;
|
||||
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Layer};
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(author, version, about, long_about = None)]
|
||||
struct Cli {
|
||||
/// the instance name
|
||||
#[arg(short = 'n', long, default_value = "default")]
|
||||
instance_name: String,
|
||||
#[arg(short = 'p', long, default_value = "127.0.0.1:15888")]
|
||||
rpc_portal: SocketAddr,
|
||||
|
||||
#[command(subcommand)]
|
||||
sub_command: SubCommand,
|
||||
@@ -358,38 +356,12 @@ impl CommandHandler {
|
||||
}
|
||||
}
|
||||
|
||||
fn init_logger() {
|
||||
// logger to rolling file
|
||||
let file_filter = EnvFilter::builder()
|
||||
.with_default_directive(LevelFilter::INFO.into())
|
||||
.from_env()
|
||||
.unwrap();
|
||||
let file_appender = tracing_appender::rolling::Builder::new()
|
||||
.rotation(tracing_appender::rolling::Rotation::DAILY)
|
||||
.max_log_files(1)
|
||||
.filename_prefix("cli.log")
|
||||
.build("/tmp")
|
||||
.expect("failed to initialize rolling file appender");
|
||||
let mut file_layer = tracing_subscriber::fmt::layer();
|
||||
file_layer.set_ansi(false);
|
||||
let file_layer = file_layer
|
||||
.with_writer(file_appender)
|
||||
.with_timer(easytier_core::common::get_logger_timer_rfc3339())
|
||||
.with_filter(file_filter);
|
||||
|
||||
tracing_subscriber::Registry::default()
|
||||
.with(file_layer)
|
||||
.init();
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
#[tracing::instrument]
|
||||
async fn main() -> Result<(), Error> {
|
||||
init_logger();
|
||||
|
||||
let cli = Cli::parse();
|
||||
let handler = CommandHandler {
|
||||
addr: "http://127.0.0.1:15888".to_string(),
|
||||
addr: format!("http://{}:{}", cli.rpc_portal.ip(), cli.rpc_portal.port()),
|
||||
};
|
||||
|
||||
match cli.sub_command {
|
||||
|
||||
Reference in New Issue
Block a user