From 7f69c0f455fcaa1edddae111c79b2a88b48ea1b5 Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 26 Dec 2018 16:05:12 +0000 Subject: command: Setup logging before attempting to create Context This way errors (such as an invalid package type) occurring during Context creation are printed properly. Signed-off-by: David Shah --- common/command.cc | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'common') diff --git a/common/command.cc b/common/command.cc index d332375a..6ba3442f 100644 --- a/common/command.cc +++ b/common/command.cc @@ -77,6 +77,20 @@ bool CommandHandler::executeBeforeContext() return true; } validate(); + + if (vm.count("quiet")) { + log_streams.push_back(std::make_pair(&std::cerr, LogLevel::WARNING_MSG)); + } else { + log_streams.push_back(std::make_pair(&std::cerr, LogLevel::LOG_MSG)); + } + + if (vm.count("log")) { + std::string logfilename = vm["log"].as(); + logfile = std::ofstream(logfilename); + if (!logfile) + log_error("Failed to open log file '%s' for writing.\n", logfilename.c_str()); + log_streams.push_back(std::make_pair(&logfile, LogLevel::LOG_MSG)); + } return false; } @@ -130,20 +144,6 @@ void CommandHandler::setupContext(Context *ctx) ctx->debug = true; } - if (vm.count("quiet")) { - log_streams.push_back(std::make_pair(&std::cerr, LogLevel::WARNING_MSG)); - } else { - log_streams.push_back(std::make_pair(&std::cerr, LogLevel::LOG_MSG)); - } - - if (vm.count("log")) { - std::string logfilename = vm["log"].as(); - logfile = std::ofstream(logfilename); - if (!logfile) - log_error("Failed to open log file '%s' for writing.\n", logfilename.c_str()); - log_streams.push_back(std::make_pair(&logfile, LogLevel::LOG_MSG)); - } - if (vm.count("force")) { ctx->force = true; } -- cgit v1.2.3