]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
refactor: Move Logging to util
authorJoel Rosdahl <joel@rosdahl.net>
Mon, 2 Oct 2023 19:06:20 +0000 (21:06 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Mon, 2 Oct 2023 19:33:49 +0000 (21:33 +0200)
33 files changed:
src/Args.cpp
src/CMakeLists.txt
src/Context.cpp
src/Depfile.cpp
src/Hash.cpp
src/InodeCache.cpp
src/Util.cpp
src/argprocessing.cpp
src/ccache.cpp
src/core/CacheEntry.cpp
src/core/Manifest.cpp
src/core/Result.cpp
src/core/ResultInspector.cpp
src/core/ResultRetriever.cpp
src/core/Statistics.cpp
src/core/StatsLog.cpp
src/core/mainoptions.cpp
src/execute.cpp
src/hashutil.cpp
src/storage/Storage.cpp
src/storage/local/LocalStorage.cpp
src/storage/local/StatsFile.cpp
src/storage/remote/FileStorage.cpp
src/storage/remote/HttpStorage.cpp
src/storage/remote/RedisStorage.cpp
src/test_lockfile.cpp
src/util/CMakeLists.txt
src/util/DirEntry.cpp
src/util/LockFile.cpp
src/util/LongLivedLockFileManager.cpp
src/util/file.cpp
src/util/logging.cpp [moved from src/Logging.cpp with 93% similarity]
src/util/logging.hpp [moved from src/Logging.hpp with 85% similarity]

index caddb46c97d0b02dfa3db2d253db32a4846362c7..4349654a3b1e275c3ef9b7ac918b2f5f9d4eefca 100644 (file)
@@ -18,9 +18,9 @@
 
 #include "Args.hpp"
 
-#include <Logging.hpp>
 #include <core/exceptions.hpp>
 #include <util/file.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 
 Args::Args(Args&& other) noexcept : m_args(std::move(other.m_args))
index a61428d44544b4a6fa619eb9966ccf800ea998bb..68b646571307ee31a4d3c34ce9d3e56547858aca 100644 (file)
@@ -5,7 +5,6 @@ set(
   Context.cpp
   Depfile.cpp
   Hash.cpp
-  Logging.cpp
   ProgressBar.cpp
   Util.cpp
   argprocessing.cpp
index 76768013faa884bef5d2f992b5ac371b2c8dc3d5..fcf3a1343fab8ce89458d785ea43a655092593d3 100644 (file)
 
 #include "Context.hpp"
 
-#include "Logging.hpp"
 #include "SignalHandler.hpp"
 #include "Util.hpp"
 #include "hashutil.hpp"
 
 #include <util/TimePoint.hpp>
 #include <util/file.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/process.hpp>
 #include <util/string.hpp>
@@ -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(), " "));
index d120425d840386ddae02565de4ad4ba76bf2c064..b8d1cdd2a419833d07ec6db297b8a86db7132528 100644 (file)
 
 #include "Context.hpp"
 #include "Hash.hpp"
-#include "Logging.hpp"
 
 #include <Util.hpp>
 #include <core/exceptions.hpp>
 #include <util/Tokenizer.hpp>
 #include <util/assertions.hpp>
 #include <util/file.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/string.hpp>
 
index 8198e6684196ff3c34c4550ef5c3fb7172dfdf3e..235714b30019133415ac286791a15636844f9721 100644 (file)
 
 #include "Hash.hpp"
 
-#include "Logging.hpp"
-
 #include <util/Fd.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
 
index 87d4ec5e09bc679dae9b8f18c85e1b2a035b27b8..69c6dcabf0326759f61537a8ad2366ff014c84e8 100644 (file)
@@ -20,7 +20,6 @@
 
 #include "Config.hpp"
 #include "Hash.hpp"
-#include "Logging.hpp"
 #include "Util.hpp"
 
 #include <util/DirEntry.hpp>
@@ -30,6 +29,7 @@
 #include <util/conversion.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 
 #include <fcntl.h>
 #include <libgen.h>
index aad8a6065f0fdd0b5677d6cc30d0dff08c7c2516..44993dc360d94e60dbfb3aaf9d89fdc04bf9cfc1 100644 (file)
@@ -20,7 +20,6 @@
 
 #include "Config.hpp"
 #include "Context.hpp"
-#include "Logging.hpp"
 
 #include <Config.hpp>
 #include <core/exceptions.hpp>
@@ -29,6 +28,7 @@
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
index bdfd25dacadd4529a1d0c2633f138437fd232bf8..b46ddf64b1e64622b79a539db968ea4100b97a41 100644 (file)
@@ -19,7 +19,6 @@
 #include "argprocessing.hpp"
 
 #include "Context.hpp"
-#include "Logging.hpp"
 #include "compopt.hpp"
 #include "language.hpp"
 
@@ -27,6 +26,7 @@
 #include <Util.hpp>
 #include <util/assertions.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
index 51d2a423057f2d9126afbbf32f1d93d3bc53f60a..e34c94b8c1017441f7bd2faf79d746673a191e80 100644 (file)
@@ -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 <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/process.hpp>
 #include <util/string.hpp>
@@ -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"));
   }
 }
 
index df2b762f0f19c0a0b9b33c935e8f6f044285bd91..d1ab2b0f0c03b302cfd9be4399655b32da98f13b 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "CacheEntry.hpp"
 
-#include <Logging.hpp>
 #include <ccache.hpp>
 #include <core/CacheEntryDataReader.hpp>
 #include <core/CacheEntryDataWriter.hpp>
@@ -29,6 +28,7 @@
 #include <util/expected.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/zstd.hpp>
 
 #include <cstring>
index f497aa40889e1572b3e4605aa9fd056451311a29..70c1f47462eb5a2e7ad10d134866c12c22867c7a 100644 (file)
 
 #include <Context.hpp>
 #include <Hash.hpp>
-#include <Logging.hpp>
 #include <core/CacheEntryDataReader.hpp>
 #include <core/CacheEntryDataWriter.hpp>
 #include <core/exceptions.hpp>
 #include <hashutil.hpp>
 #include <util/XXH3_64.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 
 // Manifest data format
index 84bc8fd90fa79284703f67970a28cc8c16ef7bf5..3f008f8a2275b135921d83abed2fae1a360724c5 100644 (file)
@@ -20,7 +20,6 @@
 
 #include "Config.hpp"
 #include "Context.hpp"
-#include "Logging.hpp"
 #include "Util.hpp"
 
 #include <ccache.hpp>
@@ -34,6 +33,7 @@
 #include <util/expected.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
index 20a4939d5999ad63c581430990458431d7fa308f..702f241bd70b664907021218c7ec595b72cf6863 100644 (file)
@@ -19,9 +19,9 @@
 #include "ResultInspector.hpp"
 
 #include "Context.hpp"
-#include "Logging.hpp"
 
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 
 namespace core {
 
index a72ff401dd91e13ff9cac731e54a525eabe01910..768ec6e1279a30eb50a750d8ce1d4fd2b8f6083b 100644 (file)
@@ -20,7 +20,6 @@
 
 #include "Context.hpp"
 #include "Depfile.hpp"
-#include "Logging.hpp"
 
 #include <Context.hpp>
 #include <Util.hpp>
@@ -32,6 +31,7 @@
 #include <util/expected.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
index f72ce490641087d35de83723773585537730182b..cecb7ca6f8a47ba6f7b0a4d84375fe0b259c2621 100644 (file)
 #include "Statistics.hpp"
 
 #include <Config.hpp>
-#include <Logging.hpp>
 #include <Util.hpp>
 #include <util/TextTable.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 #include <util/time.hpp>
 
index 651fbe088ad3b898b62d52f01f8a5067787e897a..5d82f01bfdfb5e0f0eb82fee4bc43bbaaadb52c8 100644 (file)
 
 #include "StatsLog.hpp"
 
-#include <Logging.hpp>
 #include <core/Statistics.hpp>
 #include <util/FileStream.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 
 #include <fstream>
 
index 676433f0f029bb449f64c6bbe59ab37ef910ff69..f5ed6cebd5f6241ed7c43edd34c5b6616a77c57a 100644 (file)
@@ -21,7 +21,6 @@
 #include <Config.hpp>
 #include <Hash.hpp>
 #include <InodeCache.hpp>
-#include <Logging.hpp>
 #include <ProgressBar.hpp>
 #include <Util.hpp>
 #include <ccache.hpp>
@@ -48,6 +47,7 @@
 #include <util/expected.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 
 #include <fcntl.h>
@@ -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());
 
index 80b5c276620d6f8a8403b5bb6c5a6dd0ea06ef15..2465102411dffade500b9510f0b6550b0564f529 100644 (file)
@@ -21,7 +21,6 @@
 
 #include "Config.hpp"
 #include "Context.hpp"
-#include "Logging.hpp"
 #include "SignalHandler.hpp"
 #include "Util.hpp"
 
@@ -36,6 +35,7 @@
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/path.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
index 56ee51c3fe069f858b6045b090fd323ff08c9e8e..fa4b6abfe11fcbfba66a9ae3cc5c1811909b4ff8 100644 (file)
@@ -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 <util/DirEntry.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 #include <util/time.hpp>
 #include <util/wincompat.hpp>
index ddbfadf7da63080b2df82f1145ca9e0428052cdb..a40ef10f716802920cf18ae7f246b0045703e4e8 100644 (file)
@@ -19,7 +19,6 @@
 #include "Storage.hpp"
 
 #include <Config.hpp>
-#include <Logging.hpp>
 #include <MiniTrace.hpp>
 #include <Util.hpp>
 #include <core/CacheEntry.hpp>
@@ -29,6 +28,7 @@
 #include <storage/remote/HttpStorage.hpp>
 #include <util/assertions.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #ifdef HAVE_REDIS_STORAGE_BACKEND
 #  include <storage/remote/RedisStorage.hpp>
 #endif
index 4cc50b86d715461d66cbbb66441ad86252ac35c5..2fdbfec6115116180dba2af705fcda8d4b4a19a6 100644 (file)
@@ -20,7 +20,6 @@
 
 #include <Config.hpp>
 #include <Context.hpp>
-#include <Logging.hpp>
 #include <MiniTrace.hpp>
 #include <Util.hpp>
 #include <core/AtomicFile.hpp>
@@ -40,6 +39,7 @@
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/process.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp>
index 3f543e80bb6dcd8784930d8e2ad4e13c66b62f66..750000d82c18f2198ecf730063527c9dc68a37e0 100644 (file)
 
 #include "StatsFile.hpp"
 
-#include <Logging.hpp>
 #include <core/AtomicFile.hpp>
 #include <core/exceptions.hpp>
 #include <util/LockFile.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 
 namespace storage::local {
 
index ebf3c7f5fd7ba13caa2d776078f31bf07bcb914a..80cf62099b8082a93e792828f4bb4b25faacc464 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "FileStorage.hpp"
 
-#include <Logging.hpp>
 #include <Util.hpp>
 #include <core/AtomicFile.hpp>
 #include <core/exceptions.hpp>
@@ -30,6 +29,7 @@
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 
 #include <sys/stat.h> // for mode_t
index dd0310f1e76aaa1c9947c87c738020f08d8d2c9b..37ddc237a9f724a6889defe79cfc8029a334d7d0 100644 (file)
 #include "HttpStorage.hpp"
 
 #include <Hash.hpp>
-#include <Logging.hpp>
 #include <ccache.hpp>
 #include <core/exceptions.hpp>
 #include <util/assertions.hpp>
 #include <util/expected.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 #include <util/types.hpp>
 
index e124c3cd1dbd26ef19516bbdbec3ffe7528daf09..3b74c22f336c38a084c51a5ae86f2bc99d84d9ef 100644 (file)
 #include "RedisStorage.hpp"
 
 #include <Hash.hpp>
-#include <Logging.hpp>
 #include <core/exceptions.hpp>
 #include <util/assertions.hpp>
 #include <util/expected.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 #include <util/wincompat.hpp> // for timeval
 
index ed6823ab98f50e872343c92e159cb5fa6eeb5944..2318a39d708d233dd05e2c331726976e4c5c379c 100644 (file)
 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 #include <Config.hpp>
-#include <Logging.hpp>
 #include <util/LockFile.hpp>
 #include <util/LongLivedLockFileManager.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/string.hpp>
 
 #include <memory>
@@ -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]);
index b9020bbfcd231dc642a78e6d105306c7cf9bfd42..36f4e9bc2e3ea4e7ef864cdaec579848f2b1ddd4 100644 (file)
@@ -15,6 +15,7 @@ set(
   error.cpp
   file.cpp
   filesystem.cpp
+  logging.cpp
   path.cpp
   process.cpp
   string.cpp
index beeb90c2f6a0117089edd2667fcd8d1a067b870a..44007e5374a6d4f8fac37cf0ff056f0e73c1cae7 100644 (file)
 
 #include "DirEntry.hpp"
 
-#include <Logging.hpp>
 #include <util/Finalizer.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/wincompat.hpp>
 
 #ifdef _WIN32
index f922d71c1b7f950876b7aea7c6cd4e340d989277..cdf9632e6a8f56f54a5d920d295fa32bf3878806 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "LockFile.hpp"
 
-#include "Logging.hpp"
 #include "Util.hpp"
 
 #include <util/DirEntry.hpp>
@@ -27,6 +26,7 @@
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/process.hpp>
 #include <util/wincompat.hpp>
 
index f3a9c07a3ee8cb2c413d482c54626b79cbb72f94..7fa7c841e360ad6e4a687f9099446f78baf26950 100644 (file)
 
 #include "LongLivedLockFileManager.hpp"
 
-#include <Logging.hpp>
 #include <Util.hpp>
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
+#include <util/logging.hpp>
 
 #include <chrono>
 
index ff97c2398faa82997cfecccfbcc23b83fff539d9..4c2c2aff1f9c95e51bce20357ece06962dab7dc9 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "file.hpp"
 
-#include <Logging.hpp>
 #include <util/Bytes.hpp>
 #include <util/DirEntry.hpp>
 #include <util/Fd.hpp>
@@ -29,6 +28,7 @@
 #include <util/file.hpp>
 #include <util/filesystem.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 
 #ifdef HAVE_UNISTD_H
 #  include <unistd.h>
similarity index 93%
rename from src/Logging.cpp
rename to src/util/logging.cpp
index a681c06b6e92ed01b030927348b3de92df81d34c..2f07a905f4685da2ab17553146d8ddf55f85e235 100644 (file)
 // 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 <util/FileStream.hpp>
 #include <util/file.hpp>
 #include <util/fmtmacros.hpp>
+#include <util/logging.hpp>
 #include <util/time.hpp>
-#include <util/wincompat.hpp>
 
 #ifdef HAVE_UNISTD_H
 #  include <unistd.h>
@@ -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
similarity index 85%
rename from src/Logging.hpp
rename to src/util/logging.hpp
index 66286b1fafe477e13934ab30eaaf478ef4c61335..9ecf5b66fc7692ff49a63aa8362c7e6c55df245c 100644 (file)
 #include <third_party/fmt/format.h>
 #include <third_party/fmt/std.h>
 
-#include <optional>
 #include <string>
 #include <string_view>
-#include <utility>
 
 // 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)
 
 // 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