From eab31bdd4cc97739e261e2cd1854f806b884cff2 Mon Sep 17 00:00:00 2001 From: HNOONa-0 Date: Sat, 22 Feb 2025 19:18:42 +0200 Subject: [PATCH] enable, disable generic logs. export the functions to be used --- src/glog/logging.h | 4 ++++ src/logging.cc | 27 +++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/glog/logging.h b/src/glog/logging.h index 4743966..ad12a66 100644 --- a/src/glog/logging.h +++ b/src/glog/logging.h @@ -485,6 +485,10 @@ InstallFailureFunction(logging_fail_func_t fail_func); GLOG_EXPORT void EnableLogCleaner(const std::chrono::minutes& overdue); GLOG_EXPORT void DisableLogCleaner(); GLOG_EXPORT void SetApplicationFingerprint(const std::string& fingerprint); +GLOG_EXPORT void EnableLogCleaner(LogSeverity severity, const std::chrono::minutes& overdue); +GLOG_EXPORT void DisableLogCleaner(LogSeverity severity); +GLOG_EXPORT void EnableLogCleanerForGenericLogs(const std::chrono::minutes& overdue); +GLOG_EXPORT void DisableLogCleanerForGenericLogs(); class LogSink; // defined below diff --git a/src/logging.cc b/src/logging.cc index a2676eb..1ac58b9 100644 --- a/src/logging.cc +++ b/src/logging.cc @@ -450,6 +450,9 @@ class LogCleaner { void Enable(const LogSeverity severity, const std::chrono::minutes& overdue); void Disable(); void Disable(const LogSeverity severity); + // For files with no severity in their names + void EnableForGenericLogs(const std::chrono::minutes& overdue); + void DisableForGenericLogs(); void Run(const std::chrono::system_clock::time_point& current_time, bool base_filename_selected, const string& base_filename, @@ -1295,11 +1298,11 @@ void LogFileObject::Write( LogCleaner::LogCleaner() = default; void LogCleaner::Enable(const std::chrono::minutes& overdue) { - // for the files that have no severity specified - overdue_[-1] = overdue; - // for backward compatability, set all severities to the same value + // For the files that have no severity specified, we use -1 as the key + EnableForGenericLogs(overdue); + // For backward compatability, set all severities to the same value for (int i = GLOG_INFO; i < NUM_SEVERITIES; i++) { - overdue_[i] = overdue; + Enable(static_cast(i), overdue); } } @@ -1313,6 +1316,14 @@ void LogCleaner::Disable(const LogSeverity severity) { overdue_.erase(severity); } +void LogCleaner::EnableForGenericLogs(const std::chrono::minutes& overdue) { + overdue_[-1] = overdue; +} + +void LogCleaner::DisableForGenericLogs() { + overdue_.erase(-1); +} + void LogCleaner::Run(const std::chrono::system_clock::time_point& current_time, bool base_filename_selected, const string& base_filename, const string& filename_extension) { @@ -2659,12 +2670,20 @@ void EnableLogCleaner(LogSeverity severity, const std::chrono::minutes& overdue) log_cleaner.Enable(severity, overdue); } +void EnableLogCleanerForGenericLogs(const std::chrono::minutes& overdue) { + log_cleaner.EnableForGenericLogs(overdue); +} + void DisableLogCleaner() { log_cleaner.Disable(); } void DisableLogCleaner(LogSeverity severity) { log_cleaner.Disable(severity); } +void DisableLogCleanerForGenericLogs() { + log_cleaner.DisableForGenericLogs(); +} + LogMessageTime::LogMessageTime() = default; namespace {