From 5de512ad0b6d9c57a842582e2a7411953ff2b699 Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Fri, 7 Jun 2024 00:25:03 +0200 Subject: [PATCH] Improved error logging (#284) --- src/cli/cli_handler.cc | 21 +++++++++++---------- src/util/util.cc | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/cli/cli_handler.cc b/src/cli/cli_handler.cc index f536fcc4..8ff4b5f8 100644 --- a/src/cli/cli_handler.cc +++ b/src/cli/cli_handler.cc @@ -40,16 +40,7 @@ void cli_handler::setup_logging() { spdlog::drop("clanguml-logger"); - if (!progress) { - spdlog::register_logger(logger_); - } - else { - // Setup null logger for clean progress indicators - std::vector sinks; - logger_ = std::make_shared( - "clanguml-logger", begin(sinks), end(sinks)); - spdlog::register_logger(logger_); - } + spdlog::register_logger(logger_); logger_->set_pattern("[%^%l%^] [tid %t] %v"); @@ -196,6 +187,16 @@ cli_flow_t cli_handler::handle_options(int argc, const char **argv) config.inherit(); + if (progress) { + spdlog::drop("clanguml-logger"); + + // Setup null logger for clean progress indicators + std::vector sinks; + logger_ = std::make_shared( + "clanguml-logger", begin(sinks), end(sinks)); + spdlog::register_logger(logger_); + } + return res; } diff --git a/src/util/util.cc b/src/util/util.cc index a9553e8c..a06cf70d 100644 --- a/src/util/util.cc +++ b/src/util/util.cc @@ -35,7 +35,7 @@ public: : result_{result} , #if defined(__linux) || defined(__unix) || defined(__APPLE__) - pipe_{popen(command.c_str(), "r")} + pipe_{popen(fmt::format("{} 2>&1", command).c_str(), "r")} #elif defined(_WIN32) pipe_{_popen(command.c_str(), "r")} #endif