summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorPiotr Wach <pwach@bloomberg.net>2023-12-26 23:50:50 +0100
committerPiotr Wach <pwach@bloomberg.net>2023-12-27 00:04:56 +0100
commit4482e1de9808a8d662b93b3af907b90000e9f1ae (patch)
tree26c3012f8b14e87094b966d4eed5cd41ab5d13bb /src/main.rs
parentc9738265c40598f0a79befc8dd7be0d47a9f8179 (diff)
Option to enable debug logs
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs19
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(),