diff options
author | Piotr Wach <pwach@bloomberg.net> | 2023-12-26 23:50:50 +0100 |
---|---|---|
committer | Piotr Wach <pwach@bloomberg.net> | 2023-12-27 00:04:56 +0100 |
commit | 4482e1de9808a8d662b93b3af907b90000e9f1ae (patch) | |
tree | 26c3012f8b14e87094b966d4eed5cd41ab5d13bb /src/main.rs | |
parent | c9738265c40598f0a79befc8dd7be0d47a9f8179 (diff) |
Option to enable debug logs
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 47be1f0..861700a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,11 @@ #![forbid(unsafe_code)] use anyhow::Result; +#[macro_use] +extern crate log; use clap::Parser; use dua::TraversalSorting; +use simplelog::{Config, LevelFilter, WriteLogger}; +use std::fs::OpenOptions; use std::{fs, io, io::Write, path::PathBuf, process}; mod crossdev; @@ -21,6 +25,21 @@ fn main() -> Result<()> { use options::Command::*; let opt: options::Args = options::Args::parse_from(wild::args_os()); + + if let Some(log_file) = &opt.log_file { + WriteLogger::init( + LevelFilter::Info, + Config::default(), + OpenOptions::new() + .write(true) + .create(true) + .append(true) + .open(log_file)?, + )?; + } + info!("dua-cli has started"); + info!("opt={:#?}", opt); + let walk_options = dua::WalkOptions { threads: opt.threads, byte_format: opt.format.into(), |