diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/common/cli.hpp | 6 | ||||
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp | 14 | ||||
-rw-r--r-- | src/buildtool/logging/log_sink_cmdline.hpp | 6 | ||||
-rw-r--r-- | src/buildtool/logging/logger.hpp | 2 |
4 files changed, 19 insertions, 9 deletions
diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp index 7c2cd65c..feb58a6d 100644 --- a/src/buildtool/common/cli.hpp +++ b/src/buildtool/common/cli.hpp @@ -176,9 +176,9 @@ static inline auto SetupLogArguments( }, fmt::format("Log limit (higher is more verbose) in interval [{},{}] " "(Default: {}).", - kFirstLogLevel, - kLastLogLevel, - kDefaultLogLevel)) + static_cast<int>(kFirstLogLevel), + static_cast<int>(kLastLogLevel), + static_cast<int>(kDefaultLogLevel))) ->type_name("NUM"); app->add_flag("--plain-log", clargs->plain_log, diff --git a/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp b/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp index 60fb7860..188e0f43 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_client_common.hpp @@ -50,10 +50,16 @@ LogLevel level, grpc::Status const& s) noexcept { if (logger == nullptr) { - Logger::Log(level, "{}: {}", s.error_code(), s.error_message()); + Logger::Log(level, + "{}: {}", + static_cast<int>(s.error_code()), + s.error_message()); } else { - logger->Emit(level, "{}: {}", s.error_code(), s.error_message()); + logger->Emit(level, + "{}: {}", + static_cast<int>(s.error_code()), + s.error_message()); } } @@ -62,10 +68,10 @@ LogLevel level, google::rpc::Status const& s) noexcept { if (logger == nullptr) { - Logger::Log(level, "{}: {}", s.code(), s.message()); + Logger::Log(level, "{}: {}", static_cast<int>(s.code()), s.message()); } else { - logger->Emit(level, "{}: {}", s.code(), s.message()); + logger->Emit(level, "{}: {}", static_cast<int>(s.code()), s.message()); } } diff --git a/src/buildtool/logging/log_sink_cmdline.hpp b/src/buildtool/logging/log_sink_cmdline.hpp index 0488c240..7a565212 100644 --- a/src/buildtool/logging/log_sink_cmdline.hpp +++ b/src/buildtool/logging/log_sink_cmdline.hpp @@ -107,7 +107,11 @@ class LogSinkCmdLine final : public ILogSink { break; } } - return fmt::format(style, "{}", prefix); + try { + return fmt::format(style, "{}", prefix); + } catch (...) { + return prefix; + } } }; diff --git a/src/buildtool/logging/logger.hpp b/src/buildtool/logging/logger.hpp index 74520639..6d7fd66d 100644 --- a/src/buildtool/logging/logger.hpp +++ b/src/buildtool/logging/logger.hpp @@ -127,7 +127,7 @@ class Logger { } else { // format the message - auto fmsg = fmt::format(msg, std::forward<T_Args>(args)...); + auto fmsg = fmt::vformat(msg, fmt::make_format_args(args...)); // recursive call without format arguments FormatAndForward(logger, sinks, level, fmsg); } |