From 27ba3494f86b481e5fd1d01265ff5b4e0cb51751 Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <alberto.nidasio@skywarder.eu>
Date: Fri, 3 Jun 2022 16:23:50 +0200
Subject: [PATCH] [Logger] Updated LoggerStats, now they are reset after each
 stats log

---
 src/shared/logger/Logger.cpp | 24 +++++++++++++++---------
 src/shared/logger/Logger.h   | 10 +++++-----
 2 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/src/shared/logger/Logger.cpp b/src/shared/logger/Logger.cpp
index 31876f601..dbb750e96 100644
--- a/src/shared/logger/Logger.cpp
+++ b/src/shared/logger/Logger.cpp
@@ -104,8 +104,7 @@ bool Logger::start()
         return false;
     }
 
-    started         = true;
-    stats.logNumber = fileNumber;
+    started = true;
 
     return true;
 }
@@ -139,10 +138,23 @@ int Logger::getCurrentLogNumber() { return fileNumber; }
 
 string Logger::getCurrentFileName() { return getFileName(fileNumber); }
 
-LoggerStats Logger::getLoggerStats() { return stats; }
+LoggerStats Logger::getLoggerStats()
+{
+    stats.timestamp = TimestampTimer::getInstance().getTimestamp();
+    stats.logNumber = fileNumber;
+    return stats;
+}
 
 bool Logger::isStarted() const { return started; }
 
+void Logger::logStats()
+{
+    log(getLoggerStats());
+
+    // Reset the logger stats after they have been logger
+    stats = LoggerStats();
+}
+
 Logger::Logger()
 {
     // Allocate the records
@@ -346,10 +358,4 @@ LoggerResult Logger::logImpl(const char* name, const void* data,
     return LoggerResult::Queued;
 }
 
-void Logger::logStats()
-{
-    stats.timestamp = TimestampTimer::getInstance().getTimestamp();
-    log(stats);
-}
-
 }  // namespace Boardcore
diff --git a/src/shared/logger/Logger.h b/src/shared/logger/Logger.h
index f1ad95f7b..33e9067a9 100644
--- a/src/shared/logger/Logger.h
+++ b/src/shared/logger/Logger.h
@@ -115,6 +115,11 @@ public:
     template <typename T>
     LoggerResult log(const T &t);
 
+    /**
+     * @brief Log logger stats using the logger itself.
+     */
+    void logStats();
+
 private:
     Logger();
 
@@ -143,11 +148,6 @@ private:
      */
     LoggerResult logImpl(const char *name, const void *data, unsigned int size);
 
-    /**
-     * @brief Log logger stats using the logger itself.
-     */
-    void logStats();
-
     static constexpr unsigned int maxFilenameNumber = 100;  ///< Limit on files
     static constexpr unsigned int maxRecordSize     = 512;  ///< Limit on data
     static constexpr unsigned int numRecords = 512;  ///< Size of record queues
-- 
GitLab