From: Joel Rosdahl Date: Mon, 2 Oct 2023 19:06:20 +0000 (+0200) Subject: refactor: Move Logging to util X-Git-Tag: v4.9~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13cb56cd92626708129b448de2158ac2ed82684a;p=thirdparty%2Fccache.git refactor: Move Logging to util --- diff --git a/src/Args.cpp b/src/Args.cpp index caddb46c9..4349654a3 100644 --- a/src/Args.cpp +++ b/src/Args.cpp @@ -18,9 +18,9 @@ #include "Args.hpp" -#include #include #include +#include #include Args::Args(Args&& other) noexcept : m_args(std::move(other.m_args)) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a61428d44..68b646571 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,7 +5,6 @@ set( Context.cpp Depfile.cpp Hash.cpp - Logging.cpp ProgressBar.cpp Util.cpp argprocessing.cpp diff --git a/src/Context.cpp b/src/Context.cpp index 76768013f..fcf3a1343 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -18,13 +18,13 @@ #include "Context.hpp" -#include "Logging.hpp" #include "SignalHandler.hpp" #include "Util.hpp" #include "hashutil.hpp" #include #include +#include #include #include #include @@ -56,7 +56,7 @@ Context::initialize(Args&& compiler_and_args, { orig_args = std::move(compiler_and_args); config.read(cmdline_config_settings); - Logging::init(config); + util::logging::init(config.debug(), config.log_file()); ignore_header_paths = util::split_path_list(config.ignore_headers_in_manifest()); set_ignore_options(util::split_into_strings(config.ignore_options(), " ")); diff --git a/src/Depfile.cpp b/src/Depfile.cpp index d120425d8..b8d1cdd2a 100644 --- a/src/Depfile.cpp +++ b/src/Depfile.cpp @@ -20,13 +20,13 @@ #include "Context.hpp" #include "Hash.hpp" -#include "Logging.hpp" #include #include #include #include #include +#include #include #include diff --git a/src/Hash.cpp b/src/Hash.cpp index 8198e6684..235714b30 100644 --- a/src/Hash.cpp +++ b/src/Hash.cpp @@ -18,11 +18,10 @@ #include "Hash.hpp" -#include "Logging.hpp" - #include #include #include +#include #include #include diff --git a/src/InodeCache.cpp b/src/InodeCache.cpp index 87d4ec5e0..69c6dcabf 100644 --- a/src/InodeCache.cpp +++ b/src/InodeCache.cpp @@ -20,7 +20,6 @@ #include "Config.hpp" #include "Hash.hpp" -#include "Logging.hpp" #include "Util.hpp" #include @@ -30,6 +29,7 @@ #include #include #include +#include #include #include diff --git a/src/Util.cpp b/src/Util.cpp index aad8a6065..44993dc36 100644 --- a/src/Util.cpp +++ b/src/Util.cpp @@ -20,7 +20,6 @@ #include "Config.hpp" #include "Context.hpp" -#include "Logging.hpp" #include #include @@ -29,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/src/argprocessing.cpp b/src/argprocessing.cpp index bdfd25dac..b46ddf64b 100644 --- a/src/argprocessing.cpp +++ b/src/argprocessing.cpp @@ -19,7 +19,6 @@ #include "argprocessing.hpp" #include "Context.hpp" -#include "Logging.hpp" #include "compopt.hpp" #include "language.hpp" @@ -27,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/src/ccache.cpp b/src/ccache.cpp index 51d2a4230..e34c94b8c 100644 --- a/src/ccache.cpp +++ b/src/ccache.cpp @@ -24,7 +24,6 @@ #include "Context.hpp" #include "Depfile.hpp" #include "Hash.hpp" -#include "Logging.hpp" #include "MiniTrace.hpp" #include "SignalHandler.hpp" #include "Util.hpp" @@ -56,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -2289,10 +2289,10 @@ finalize_at_exit(Context& ctx) // Dump log buffer last to not lose any logs. if (ctx.config.debug() && !ctx.args_info.output_obj.empty()) { - Logging::dump_log(prepare_debug_path(ctx.config.debug_dir(), - ctx.time_of_invocation, - ctx.args_info.output_obj, - "log")); + util::logging::dump_log(prepare_debug_path(ctx.config.debug_dir(), + ctx.time_of_invocation, + ctx.args_info.output_obj, + "log")); } } diff --git a/src/core/CacheEntry.cpp b/src/core/CacheEntry.cpp index df2b762f0..d1ab2b0f0 100644 --- a/src/core/CacheEntry.cpp +++ b/src/core/CacheEntry.cpp @@ -18,7 +18,6 @@ #include "CacheEntry.hpp" -#include #include #include #include @@ -29,6 +28,7 @@ #include #include #include +#include #include #include diff --git a/src/core/Manifest.cpp b/src/core/Manifest.cpp index f497aa408..70c1f4746 100644 --- a/src/core/Manifest.cpp +++ b/src/core/Manifest.cpp @@ -20,13 +20,13 @@ #include #include -#include #include #include #include #include #include #include +#include #include // Manifest data format diff --git a/src/core/Result.cpp b/src/core/Result.cpp index 84bc8fd90..3f008f8a2 100644 --- a/src/core/Result.cpp +++ b/src/core/Result.cpp @@ -20,7 +20,6 @@ #include "Config.hpp" #include "Context.hpp" -#include "Logging.hpp" #include "Util.hpp" #include @@ -34,6 +33,7 @@ #include #include #include +#include #include #include #include diff --git a/src/core/ResultInspector.cpp b/src/core/ResultInspector.cpp index 20a4939d5..702f241bd 100644 --- a/src/core/ResultInspector.cpp +++ b/src/core/ResultInspector.cpp @@ -19,9 +19,9 @@ #include "ResultInspector.hpp" #include "Context.hpp" -#include "Logging.hpp" #include +#include namespace core { diff --git a/src/core/ResultRetriever.cpp b/src/core/ResultRetriever.cpp index a72ff401d..768ec6e12 100644 --- a/src/core/ResultRetriever.cpp +++ b/src/core/ResultRetriever.cpp @@ -20,7 +20,6 @@ #include "Context.hpp" #include "Depfile.hpp" -#include "Logging.hpp" #include #include @@ -32,6 +31,7 @@ #include #include #include +#include #include #include #include diff --git a/src/core/Statistics.cpp b/src/core/Statistics.cpp index f72ce4906..cecb7ca6f 100644 --- a/src/core/Statistics.cpp +++ b/src/core/Statistics.cpp @@ -19,10 +19,10 @@ #include "Statistics.hpp" #include -#include #include #include #include +#include #include #include diff --git a/src/core/StatsLog.cpp b/src/core/StatsLog.cpp index 651fbe088..5d82f01bf 100644 --- a/src/core/StatsLog.cpp +++ b/src/core/StatsLog.cpp @@ -18,10 +18,10 @@ #include "StatsLog.hpp" -#include #include #include #include +#include #include diff --git a/src/core/mainoptions.cpp b/src/core/mainoptions.cpp index 676433f0f..f5ed6cebd 100644 --- a/src/core/mainoptions.cpp +++ b/src/core/mainoptions.cpp @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -48,6 +47,7 @@ #include #include #include +#include #include #include @@ -550,7 +550,7 @@ process_main_options(int argc, const char* const* argv) != -1) { Config config; config.read(); - Logging::init(config); + util::logging::init(config.debug(), config.log_file()); util::UmaskScope umask_scope(config.umask()); diff --git a/src/execute.cpp b/src/execute.cpp index 80b5c2766..246510241 100644 --- a/src/execute.cpp +++ b/src/execute.cpp @@ -21,7 +21,6 @@ #include "Config.hpp" #include "Context.hpp" -#include "Logging.hpp" #include "SignalHandler.hpp" #include "Util.hpp" @@ -36,6 +35,7 @@ #include #include #include +#include #include #include #include diff --git a/src/hashutil.cpp b/src/hashutil.cpp index 56ee51c3f..fa4b6abfe 100644 --- a/src/hashutil.cpp +++ b/src/hashutil.cpp @@ -21,7 +21,6 @@ #include "Args.hpp" #include "Config.hpp" #include "Context.hpp" -#include "Logging.hpp" #include "execute.hpp" #include "macroskip.hpp" @@ -29,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/src/storage/Storage.cpp b/src/storage/Storage.cpp index ddbfadf7d..a40ef10f7 100644 --- a/src/storage/Storage.cpp +++ b/src/storage/Storage.cpp @@ -19,7 +19,6 @@ #include "Storage.hpp" #include -#include #include #include #include @@ -29,6 +28,7 @@ #include #include #include +#include #ifdef HAVE_REDIS_STORAGE_BACKEND # include #endif diff --git a/src/storage/local/LocalStorage.cpp b/src/storage/local/LocalStorage.cpp index 4cc50b86d..2fdbfec61 100644 --- a/src/storage/local/LocalStorage.cpp +++ b/src/storage/local/LocalStorage.cpp @@ -20,7 +20,6 @@ #include #include -#include #include #include #include @@ -40,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/src/storage/local/StatsFile.cpp b/src/storage/local/StatsFile.cpp index 3f543e80b..750000d82 100644 --- a/src/storage/local/StatsFile.cpp +++ b/src/storage/local/StatsFile.cpp @@ -18,12 +18,12 @@ #include "StatsFile.hpp" -#include #include #include #include #include #include +#include namespace storage::local { diff --git a/src/storage/remote/FileStorage.cpp b/src/storage/remote/FileStorage.cpp index ebf3c7f5f..80cf62099 100644 --- a/src/storage/remote/FileStorage.cpp +++ b/src/storage/remote/FileStorage.cpp @@ -18,7 +18,6 @@ #include "FileStorage.hpp" -#include #include #include #include @@ -30,6 +29,7 @@ #include #include #include +#include #include #include // for mode_t diff --git a/src/storage/remote/HttpStorage.cpp b/src/storage/remote/HttpStorage.cpp index dd0310f1e..37ddc237a 100644 --- a/src/storage/remote/HttpStorage.cpp +++ b/src/storage/remote/HttpStorage.cpp @@ -19,12 +19,12 @@ #include "HttpStorage.hpp" #include -#include #include #include #include #include #include +#include #include #include diff --git a/src/storage/remote/RedisStorage.cpp b/src/storage/remote/RedisStorage.cpp index e124c3cd1..3b74c22f3 100644 --- a/src/storage/remote/RedisStorage.cpp +++ b/src/storage/remote/RedisStorage.cpp @@ -19,11 +19,11 @@ #include "RedisStorage.hpp" #include -#include #include #include #include #include +#include #include #include // for timeval diff --git a/src/test_lockfile.cpp b/src/test_lockfile.cpp index ed6823ab9..2318a39d7 100644 --- a/src/test_lockfile.cpp +++ b/src/test_lockfile.cpp @@ -17,10 +17,10 @@ // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include -#include #include #include #include +#include #include #include @@ -38,7 +38,7 @@ main(int argc, char** argv) } Config config; config.update_from_environment(); - Logging::init(config); + util::logging::init(config.debug(), config.log_file()); const std::string path(argv[1]); const auto seconds = util::parse_signed(argv[2]); diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index b9020bbfc..36f4e9bc2 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -15,6 +15,7 @@ set( error.cpp file.cpp filesystem.cpp + logging.cpp path.cpp process.cpp string.cpp diff --git a/src/util/DirEntry.cpp b/src/util/DirEntry.cpp index beeb90c2f..44007e537 100644 --- a/src/util/DirEntry.cpp +++ b/src/util/DirEntry.cpp @@ -18,10 +18,10 @@ #include "DirEntry.hpp" -#include #include #include #include +#include #include #ifdef _WIN32 diff --git a/src/util/LockFile.cpp b/src/util/LockFile.cpp index f922d71c1..cdf9632e6 100644 --- a/src/util/LockFile.cpp +++ b/src/util/LockFile.cpp @@ -18,7 +18,6 @@ #include "LockFile.hpp" -#include "Logging.hpp" #include "Util.hpp" #include @@ -27,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/src/util/LongLivedLockFileManager.cpp b/src/util/LongLivedLockFileManager.cpp index f3a9c07a3..7fa7c841e 100644 --- a/src/util/LongLivedLockFileManager.cpp +++ b/src/util/LongLivedLockFileManager.cpp @@ -18,10 +18,10 @@ #include "LongLivedLockFileManager.hpp" -#include #include #include #include +#include #include diff --git a/src/util/file.cpp b/src/util/file.cpp index ff97c2398..4c2c2aff1 100644 --- a/src/util/file.cpp +++ b/src/util/file.cpp @@ -18,7 +18,6 @@ #include "file.hpp" -#include #include #include #include @@ -29,6 +28,7 @@ #include #include #include +#include #ifdef HAVE_UNISTD_H # include diff --git a/src/Logging.cpp b/src/util/logging.cpp similarity index 93% rename from src/Logging.cpp rename to src/util/logging.cpp index a681c06b6..2f07a905f 100644 --- a/src/Logging.cpp +++ b/src/util/logging.cpp @@ -17,17 +17,13 @@ // this program; if not, write to the Free Software Foundation, Inc., 51 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -#include "Logging.hpp" - #include "Config.hpp" -#include "Util.hpp" -#include "execute.hpp" #include #include #include +#include #include -#include #ifdef HAVE_UNISTD_H # include @@ -124,24 +120,24 @@ do_log(std::string_view message, bool bulk) } // namespace -namespace Logging { +namespace util::logging { // Initialize logging. Call only once. void -init(const Config& config) +init(bool debug, const std::string& log_file) { - debug_log_enabled = config.debug(); + debug_log_enabled = debug; #ifdef HAVE_SYSLOG - if (config.log_file() == "syslog") { + if (log_file == "syslog") { use_syslog = true; openlog("ccache", LOG_PID, LOG_USER); return; // Don't open logfile } #endif - if (!config.log_file().empty()) { - logfile_path = config.log_file(); + if (!log_file.empty()) { + logfile_path = log_file; logfile.open(logfile_path, "a"); if (logfile) { util::set_cloexec_flag(fileno(*logfile)); @@ -189,4 +185,4 @@ dump_log(const std::string& path) } } -} // namespace Logging +} // namespace util::logging diff --git a/src/Logging.hpp b/src/util/logging.hpp similarity index 85% rename from src/Logging.hpp rename to src/util/logging.hpp index 66286b1fa..9ecf5b66f 100644 --- a/src/Logging.hpp +++ b/src/util/logging.hpp @@ -22,16 +22,14 @@ #include #include -#include #include #include -#include // Log a raw message (plus a newline character). #define LOG_RAW(message_) \ do { \ - if (Logging::enabled()) { \ - Logging::log(std::string_view(message_)); \ + if (util::logging::enabled()) { \ + util::logging::log(std::string_view(message_)); \ } \ } while (false) @@ -44,18 +42,18 @@ // is checked at compile time. #define BULK_LOG(format_, ...) \ do { \ - if (Logging::enabled()) { \ - Logging::bulk_log(fmt::format(FMT_STRING(format_), __VA_ARGS__)); \ + if (util::logging::enabled()) { \ + util::logging::bulk_log(fmt::format(FMT_STRING(format_), __VA_ARGS__)); \ } \ } while (false) class Config; -namespace Logging { +namespace util::logging { // Initialize global logging state. Must be called once before using the other // logging functions. -void init(const Config& config); +void init(bool debug, const std::string& log_file); // Return whether logging is enabled to at least one destination. bool enabled(); @@ -67,7 +65,7 @@ void log(std::string_view message); // timestamp. void bulk_log(std::string_view message); -// Write the current log memory buffer `path`. +// Write the current log memory buffer to `path`. void dump_log(const std::string& path); -} // namespace Logging +} // namespace util::logging