From 0511de99bb1174ded5c08825ff29881daa7317e2 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 28 Jun 2019 15:42:58 +0200 Subject: Fix non-working verbosity when set prior to --debug Before this change doing something like `--verbose 10 --debug-cycles` did not properly set verbosity, only using those arguments in an other way around was leading to a correct verbosity level. --- intern/libmv/intern/logging.cc | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'intern/libmv') diff --git a/intern/libmv/intern/logging.cc b/intern/libmv/intern/logging.cc index 6be0ef44e42..350be29d4db 100644 --- a/intern/libmv/intern/logging.cc +++ b/intern/libmv/intern/logging.cc @@ -23,6 +23,16 @@ #include "intern/utildefines.h" #include "libmv/logging/logging.h" +static bool is_verbosity_set() { + using LIBMV_GFLAGS_NAMESPACE::GetCommandLineOption; + + std::string verbosity; + if (!GetCommandLineOption("v", &verbosity)) { + return false; + } + return verbosity != "0"; +} + void libmv_initLogging(const char* argv0) { using LIBMV_GFLAGS_NAMESPACE::SetCommandLineOption; // Make it so ERROR messages are always print into console. @@ -30,8 +40,9 @@ void libmv_initLogging(const char* argv0) { snprintf(severity_fatal, sizeof(severity_fatal), "%d", google::GLOG_ERROR); google::InitGoogleLogging(argv0); - SetCommandLineOption("logtostderr", "1"); - SetCommandLineOption("v", "0"); + if (!is_verbosity_set()) { + SetCommandLineOption("v", "0"); + } SetCommandLineOption("stderrthreshold", severity_fatal); SetCommandLineOption("minloglevel", severity_fatal); } @@ -39,7 +50,9 @@ void libmv_initLogging(const char* argv0) { void libmv_startDebugLogging(void) { using LIBMV_GFLAGS_NAMESPACE::SetCommandLineOption; SetCommandLineOption("logtostderr", "1"); - SetCommandLineOption("v", "2"); + if (!is_verbosity_set()) { + SetCommandLineOption("v", "2"); + } SetCommandLineOption("stderrthreshold", "1"); SetCommandLineOption("minloglevel", "0"); } -- cgit v1.2.3