diff --git a/cli/src/main.rs b/cli/src/main.rs index f071dd42de3..0575126bb93 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -21,18 +21,14 @@ enum MainError { async fn main() -> error_stack::Result<(), MainError> { let args = Args::parse(); + configure_reports(&args); + if args.trace_config { iroha_config::enable_tracing() .change_context(MainError::TraceConfigSetup) .attach_printable("was enabled by `--trace-config` argument")?; } - error_stack::Report::set_color_mode(if args.terminal_colors { - error_stack::fmt::ColorMode::Color - } else { - error_stack::fmt::ColorMode::None - }); - let (config, logger_config, genesis) = iroha::read_config_and_genesis(&args).change_context(MainError::Config).attach_printable_lazy(|| { args.config.as_ref().map_or_else( @@ -64,3 +60,19 @@ async fn main() -> error_stack::Result<(), MainError> { Ok(()) } + +/// Configures globals of [`error_stack::Report`] +fn configure_reports(args: &Args) { + use std::panic::Location; + + use error_stack::{fmt::ColorMode, Report}; + + Report::set_color_mode(if args.terminal_colors { + ColorMode::Color + } else { + ColorMode::None + }); + + // neither devs nor users benefit from it + Report::install_debug_hook::(|_, _| {}); +}