diff --git a/cli/README.md b/cli/README.md index 2af17e9..7474f0a 100644 --- a/cli/README.md +++ b/cli/README.md @@ -139,8 +139,8 @@ Fetch a list of all the items saved in your YouTube/YouTube Music profile. - **Proxy:** RustyPipe respects the environment variables `HTTP_PROXY`, `HTTPS_PROXY` and `ALL_PROXY` -- **Logging:** You can change the log level with the `RUST_LOG` environment variable, it - is set to `info` by default +- **Logging:** Enable debug logging with the `-v` (verbose) flag. If you want more + fine-grained control, use the `RUST_LOG` environment variable. - **Visitor data:** A custom visitor data ID can be used with the `--vdata` flag - **Authentication:** Use the commands `rustypipe login` and `rustypipe login --cookie` to log into your Google account using either OAuth or YouTube cookies. With the diff --git a/cli/src/main.rs b/cli/src/main.rs index f192dd8..b226221 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -80,6 +80,9 @@ struct Cli { /// Enable caching for session-bound PO tokens #[clap(long, global = true)] pot_cache: bool, + /// Enable debug logging + #[clap(short, long, global = true)] + verbose: bool, } #[derive(Parser)] @@ -878,12 +881,15 @@ async fn run() -> anyhow::Result<()> { let cli = Cli::parse(); let multi = MultiProgress::new(); + let mut env_filter = EnvFilter::builder() + .with_default_directive(LevelFilter::INFO.into()) + .from_env_lossy(); + if cli.verbose { + env_filter = env_filter.add_directive("rustypipe=debug".parse().unwrap()); + } + tracing_subscriber::fmt::SubscriberBuilder::default() - .with_env_filter( - EnvFilter::builder() - .with_default_directive(LevelFilter::INFO.into()) - .from_env_lossy(), - ) + .with_env_filter(env_filter) .with_writer(ProgWriter(multi.clone())) .init();