Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
biezhihua committed Jan 30, 2024
1 parent ba0a241 commit b179f37
Showing 1 changed file with 20 additions and 8 deletions.
28 changes: 20 additions & 8 deletions soda_resource_tools_cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ struct Cli {
#[arg(long,value_hint = clap::ValueHint::DirPath)]
log_path: Option<std::path::PathBuf>,

/// 日志级别
#[arg(long, default_value = "info", value_parser = clap::builder::PossibleValuesParser::new(["trace", "debug", "info", "warn", "error"]))]
log_level: Option<String>,

/// 缓存路径
#[arg(long,value_hint = clap::ValueHint::DirPath)]
cache_path: Option<std::path::PathBuf>,
Expand Down Expand Up @@ -110,15 +114,18 @@ fn main() {
fs::create_dir_all(log_dir).unwrap();

// 配置日志
let debug_file_appender = tracing_appender::rolling::never(log_dir, "debug.log");
let (debug_log, _guard) = tracing_appender::non_blocking(debug_file_appender);
let log_level = args.log_level.unwrap_or("info".to_string());

// 配置日志
let all_file_appender = tracing_appender::rolling::never(log_dir, "all.log");
let (all_log, _guard) = tracing_appender::non_blocking(all_file_appender);

// 配置日志
let metadata_file_appender = tracing_appender::rolling::never(log_dir, "metadata.log");
let (metadata_log, _guard) = tracing_appender::non_blocking(metadata_file_appender);

// 日志初始化
init_tracing(debug_log, metadata_log);
init_tracing(log_level, all_log, metadata_log);

tracing::info!(target:"soda::info", "配置文件目录: {}", config_dir.to_str().unwrap());
tracing::info!(target:"soda::info", "缓存文件目录: {}", cache_dir.to_str().unwrap());
Expand Down Expand Up @@ -181,12 +188,9 @@ fn main() {
}

fn init_lib_config(local_soda_config: &Value, config_dir: &Path, cache_dir: &Path, rename_style: &RenameStyle) {
// let mc = new_magic_crypt!("biezhihua_soda", 256);

let bin_path_name = local_soda_config.get("bin").unwrap().as_str().unwrap();
let soda_config_bin_path = config_dir.join(bin_path_name);
let soda_config_bin_content = fs::read_to_string(&soda_config_bin_path).unwrap();
//let soda_config_bin = mc.decrypt_base64_to_string(&soda_config_bin_content).unwrap();
let soda_config_bin_json: Value = serde_json::from_str(&soda_config_bin_content).unwrap();

let mt_strong_match_rules_tv = soda_config_bin_json.get("mt_strong_match_rules_tv").unwrap();
Expand Down Expand Up @@ -243,15 +247,23 @@ fn update_soda_config(local_soda_config_path: &std::path::PathBuf, remote_soda_c
reqwest::blocking::get("https://raw.githubusercontent.com/biezhihua/soda_cli/main/soda_config.bin").unwrap().copy_to(&mut fs::File::create(config_dir.join(remote_soda_config.get("bin").unwrap().as_str().unwrap())).unwrap()).unwrap();
}

fn init_tracing(debug_log: NonBlocking, metadata_log: NonBlocking) {
fn init_tracing(log_level: String, all_log: NonBlocking, metadata_log: NonBlocking) {
let filter = match log_level.as_str() {
"trace" => filter::LevelFilter::TRACE,
"debug" => filter::LevelFilter::DEBUG,
"info" => filter::LevelFilter::INFO,
"warn" => filter::LevelFilter::WARN,
"error" => filter::LevelFilter::ERROR,
_ => filter::LevelFilter::INFO,
};
tracing_subscriber::registry()
.with(
// 收集INFO级别以上的soda_cli日志输出到控制台
tracing_subscriber::fmt::layer().with_timer(ChronoLocal::new("%Y-%m-%d %H:%M:%S".to_string())).with_filter(filter::LevelFilter::INFO).with_filter(filter::filter_fn(|metadata| metadata.target().starts_with("soda::info"))),
)
.with(
// 收集DEBUG级别以上的日志到debug.log文件
tracing_subscriber::fmt::layer().with_timer(ChronoLocal::new("%Y-%m-%d %H:%M:%S".to_string())).with_writer(debug_log).with_ansi(false).with_filter(filter::LevelFilter::DEBUG),
tracing_subscriber::fmt::layer().with_timer(ChronoLocal::new("%Y-%m-%d %H:%M:%S".to_string())).with_writer(all_log).with_ansi(false).with_filter(filter),
)
.with(
// 收集INFO级别以上的日志到metadata_log文件
Expand Down

0 comments on commit b179f37

Please sign in to comment.