From bd657023d6da9fbc60b64d4b53db005f347dc874 Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Mon, 27 Feb 2023 10:34:27 +0100 Subject: Logging: Add --log-append clarg to just --- src/buildtool/common/cli.hpp | 5 +++++ src/buildtool/main/main.cpp | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp index 46e8a7c9..865ef500 100644 --- a/src/buildtool/common/cli.hpp +++ b/src/buildtool/common/cli.hpp @@ -45,6 +45,7 @@ struct LogArguments { std::vector log_files{}; LogLevel log_limit{kDefaultLogLevel}; bool plain_log{false}; + bool log_append{false}; }; /// \brief Arguments required for analysing targets. @@ -201,6 +202,10 @@ static inline auto SetupLogArguments( app->add_flag("--plain-log", clargs->plain_log, "Do not use ANSI escape sequences to highlight messages."); + app->add_flag( + "--log-append", + clargs->log_append, + "Append messages to log file instead of overwriting existing."); } static inline auto SetupAnalysisArguments( diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 3e23cf63..d3911bf1 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -288,8 +288,10 @@ void SetupLogging(LogArguments const& clargs) { LogConfig::SetLogLimit(clargs.log_limit); LogConfig::SetSinks({LogSinkCmdLine::CreateFactory(not clargs.plain_log)}); for (auto const& log_file : clargs.log_files) { - LogConfig::AddSink( - LogSinkFile::CreateFactory(log_file, LogSinkFile::Mode::Overwrite)); + LogConfig::AddSink(LogSinkFile::CreateFactory( + log_file, + clargs.log_append ? LogSinkFile::Mode::Append + : LogSinkFile::Mode::Overwrite)); } } -- cgit v1.2.3