From 2331105d583ad3e8f6727bc4baf6c76e3e4db8f8 Mon Sep 17 00:00:00 2001 From: Simon Quigley Date: Sat, 25 Jan 2025 23:36:49 -0600 Subject: [PATCH] Do not allow duplicate log entries --- cpp/common.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cpp/common.h b/cpp/common.h index 649db87..82f0991 100644 --- a/cpp/common.h +++ b/cpp/common.h @@ -33,12 +33,15 @@ private: std::string data = ""; mutable std::shared_mutex lock_; std::weak_ptr task_context_; + std::string last_data_str = ""; public: void append(const std::string& str) { std::unique_lock lock(lock_); - if (str.empty()) { return; } - data += std::format("[{}] {}", get_current_utc_time("%Y-%m-%dT%H:%M:%SZ"), str.ends_with('\n') ? str : str + '\n'); + std::string log_str = str.ends_with('\n') ? str : str + '\n'; + if (str.empty() || last_data_str == log_str) { return; } + data += std::format("[{}] {}", get_current_utc_time("%Y-%m-%dT%H:%M:%SZ"), log_str); + last_data_str = log_str; } void set_log(const std::string& str) {